Noticias

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

[APORTE] Desenparentador

Iniciado por lightbug, Diciembre 15, 2016, 03:43:08 PM

Tema anterior - Siguiente tema
Diciembre 15, 2016, 03:43:08 PM Ultima modificación: Diciembre 15, 2016, 03:48:31 PM por lightbug
Hola aca dejo un simple script que desenparenta al nivel mas alto cualquier gameObject (sin dejar padres, abuelos, bisabuelos y asi XD), la raiz de hacer eso en mi caso surgio por problemas en el hierarchy cuando tenia varios objetos y tenia que arrastrar al hijo hasta arriba era bastante molesto. Aca el código:
 
"MakeOrphan.cs"
 

using Unit***itor;
using UnityEngine;
public class MakeOrphan : EditorWindow {
[MenuItem("Window/Make Orphan")]
public static void Action()
{
   
   Transform[] selected = Selection.GetTransforms (SelectionMode.Assets);
   if (selected.Length == ) {
      Debug.Log ("No Objects selected");
      return;
   }
   
   for(int i =  ; i < selected.Length ; i++){
      selected[i].SetParent (null);
      Debug.Log(selected[i].name + " is now an Orphan");         
   }
 
}
}

 
EDIT: yo lo coloque en una carpeta "Editor" pero probe fuera de ella y funciona igual, pense que era necesario para los assembly del Editor

Gracias por el aporte.
 
La carpeta de Editor se utiliza para colocar código vinculado con el Editor, y Unity AL COMPILAR no lo incluye. Así no tienes que poner el #if UNITY_EDITOR bla bla bla cuando lo colocas en otra carpeta que no sea esa.

Cita de: iRobb date=1481876688Gracias por el aporte.
   
   
      La carpeta de Editor se utiliza para colocar código vinculado con el Editor, y Unity AL COMPILAR no lo incluye. Así no tienes que poner el #if UNITY_EDITOR bla bla bla cuando lo colocas en otra carpeta que no sea esa.
   


Ok gracias, claro yo lo usaba en los custom inspectors porque derivaba de Editor, pense que con EditorWindow era algo parecido.

Cita de: lightbug date=1481877921Ok gracias, claro yo lo usaba en los custom inspectors porque derivaba de Editor, pense que con EditorWindow era algo parecido.
   


Prueba a hacer un build teniendo ese script en una carpeta que no sea la Editor y luego ponlo en la de Editor. Todo lo que tenga la palabra "Editor" requerirá ese using.

Etiquetas: