Unity Editor의 Layout을 전환할 수 있는 Tab Window를 만들어 봤습니다.

UnityTab


UnityEditor의 layout을 전환하는 창이 만들어졌습니다.
UnityTabSample

Unity에서 애니메이션을 만들고 GameView를 확대하여 사용자 정의 View를 위주로...etc
이렇게 만들면 전환하고 싶은 타이밍도 생긴다.
그래서 다른 창에서tab를 꺼내서 전환할 수 있다면 편리하지 않습니까?이렇게 생각하고 했어요.
VisualStuido에서 Form을 사용하여 제작되므로 Windows만 지원됩니다.
UnityTab
프로젝트는 기세로 제작되어 공개된다.
Windows가 움직이지 않을 수도 있습니다.
UnityEditor의 layout 파일입니다.wlt는 자신의 상황/Users/UserName/ApData/Roaming
/Unity/Editor-5.x/Preferences/Layouts/.wlt 느낌이 나서 편집기-5.이 가능하다, ~할 수 있다,...

살짝 설명해주세요.


dll 쪽은 별거 아니에요. 창을 꺼내세요*.wlt를 읽고 TabController에 뛰어들어 Tab을 꺼낼 뿐입니다.
Tab을 눌렀을 때의 이벤트를 유니티에게 알릴 방법이 생각나지 않으므로delegate에 맡겨서 해결합니다(힘이 있어서 바꾸고 싶습니다...)
유니티 방면
TabEditor.cs
public class TabEditor : Editor
{
    [MenuItem ("UnityTab/LaunchWindowStart")]
    static void LaunchWindowStart ()
    {
        UnityTab.TabMain.Launch (
            (int index) =>
            {
                var path = UnityTab.TabMain.GetFilePath[index];
                var tyWindowLayout = Type.GetType ("UnityEditor.WindowLayout,UnityEditor");
                var method = tyWindowLayout.GetMethod ("LoadWindowLayout", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof (string), typeof (bool) }, null);
                var assetPath = Path.Combine (Directory.GetCurrentDirectory (), path);
                method.Invoke (null, new object[] { assetPath, false });
            });
    }

    [MenuItem ("UnityTab/LaunchWindowStop")]
    static void LaunchWindowStop ()
    {
        UnityTab.TabMain.Stop ();
    }
}
변했어, 또 하나의 힘이야.그나저나 정식 API는 제공되지 않았지만 방법을 찾아봤습니다.
WindowLayout.cs
항목에서 사용할 수 있는 모든 패밀리 보기

총결산


힘을 쓰는 곳이 있기 때문에 지금 이대로는 사용하지 못할 때가 올 수도 있다.
쓰고 싶은 사람은 쓸 수 있을 때 사용하세요.
앞으로
- 태그 변경, 좋아하는 사람만 추가
- MacOS 등 지원
- UnityEditor 따르기
생각 중이지만 언제 할 수 있을지 모르겠어요.가능하면 할게요.(하려면 전자화 같은 거일 수도 있어)
변수 이름과 Form에 익숙하지 않아서 이상한 점이 있는 것 같습니다. 용서해 주십시오...

좋은 웹페이지 즐겨찾기