유니티에 툴바 만들기..
Unity3D / 2012. 10. 15. 13:58
using UnityEngine; using UnityEditor; public class MyToolbar : EditorWindow { // Add menu named "My Window" to the Window menu [MenuItem ("Window/Toolbar")] static void Init () { // Get existing open window or if none, make a new one: MyToolbar window = EditorWindow.GetWindow (typeof (MyToolbar)) as MyToolbar; //window.minSize = new Vector2(34f, 34f); //window.maxSize = new Vector2(1024f, 70f); window.position = new Rect(0,0,200,34); } void OnGUI() { // GUILayout, EditorGUILayout 둘 다 되는데 무슨 차이일까.. //EditorGUILayout.BeginHorizontal ("Toolbar"); GUILayout.BeginHorizontal ("Toolbar"); // 텍스트이름 버튼 if(GUILayout.Button ("AS", GUILayout.Width( 32f ), GUILayout.Height( 32f ))) { // 유니티 메뉴에서 실행할 메뉴선택 EditorApplication.ExecuteMenuItem( "Window/Asset Store" ); } GUILayout.Button ("Pop up", GUILayout.Width( 32f ), GUILayout.Height( 32f )); GUILayout.Space (10f); // 표준 에디터 간격을 넣는다. GUILayout.Button ("Drop me down", GUILayout.Width( 32f ), GUILayout.Height( 32f )); // 이미지 버튼 넣기(이미지 없으면 텍스트로) string TPath = string.Format( "Assets/Room/Bluesky Up.jpg" ); Texture tex = Resources.LoadAssetAtPath( TPath, typeof(Texture) ) as Texture; if( tex != null ) { if( GUILayout.Button( tex, GUILayout.Width( 32f ), GUILayout.Height( 32f ) ) ) { EditorApplication.ExecuteMenuItem( "Window/Asset Server" ); } } else { if( GUILayout.Button( "Asset Server", GUILayout.Width( 32f ), GUILayout.Height( 32f ) ) ) { EditorApplication.ExecuteMenuItem( "Window/Asset Server" ); } } //EditorGUILayout.EndHorizontal (); GUILayout.EndHorizontal (); } }
소스에 주석이 달려 있으므로 별로 설명은 필요 없을 것 같지만..
기본적으로 해야는 것 같은(?)건..
1. 툴바도 우선 메뉴는 필요한 듯..메뉴 포함 윈도우를 만듬.(크기 조절은 좀 필요할 듯 하다.)
2. 필요한 버튼을 만든다.(이미지로 처리된다면 Assets/아래 리소스를 첨부해야 될 듯)
3. 툴바 버튼 눌렀을 때 실행할 메뉴를 링크해 준다.(외부 프로그램도 실행방법이 있겠지? 나중에 확인해야지..)
P.s. 괴발자님의 블로그 글을 보고 이리저리 삽질하면서 만들었다.
유니티는 아직 초보라 잘 설명해준 글도 삽질은 별 수 없나보다..
정보 공유해주신 괴발자님 감사합니다. :)
반응형
'Unity3D' 카테고리의 다른 글
Transform Custom Editor (0) | 2012.10.15 |
---|---|
Gizmos로 카메라 프러스텀 보이게 하기 (0) | 2012.10.15 |
유니티에서 툴 만들기 (0) | 2012.10.12 |
[링크] 유니티 관련 사이트 (0) | 2012.10.12 |
Visual Studio C# Integration (0) | 2012.10.05 |