[Unity(C#)] EditorWindow에서 통일적으로 이름 바꾸기
8082 단어 편집기 확장RenameEditorWindowUnityC#
Prefab은 간단합니다.
Prefab의 경우 대량 변경이 쉽습니다.
그러나 다른 대상을 하나의 유형으로 구분하고 이름을 바꾸려고 할 때
이름 엉덩이에 색인을 붙여서 정리하고 싶을 때는 불가능해요.
프레젠테이션
Hierarchy에서 선택한 객체의 모든 하위 객체에 대해
색인으로 이름을 바꾼 편집기를 확장합니다.
코드
제가 Editor Windows 확장에 익숙하지 않아서요.
잘 적어두고 싶어요.
도구 모음에 표시된 내 도구 실행
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
public class RenameAllChildren : EditorWindow
{
static EditorWindow window;
string textField = "";
[MenuItem("MyTools/RenameAllChildren")]
static void ShowWindow()
{
window = EditorWindow.GetWindow(typeof(RenameAllChildren));
window.position =new Rect(Screen.width*2, Screen.height/2, 300,100);
}
void OnGUI()
{
GUILayout.Space(25);
EditorGUILayout.BeginHorizontal();
GUILayout.Label( "ObjectName" );
textField = GUILayout.TextField( textField , GUILayout.Width(window.position.width/1.5f));
GUILayout.EndHorizontal();
GUILayout.Space(25);
if( GUILayout.Button( "Change all names of ChildrenObject" ) )
{
int num = 1;
GameObject selectionObj = Selection.activeGameObject;
for (int i = 0; i < selectionObj.transform.childCount;i++)
{
Transform childTransform = selectionObj.transform.GetChild(i);
childTransform.name = textField + num;
num++;
}
}
}
}
#endif
EditorWindow 크기, 위치 조정
아니오
속성을 한 번에 변수
EditorWindow.GetWindow();
에 넣으면 편집할 수 있습니다.준비 변수
window = EditorWindow.GetWindow(typeof(RenameAllChildren));
window.position = new Rect(Screen.width*2, Screen.height/2, 300,100);
또한 .position
, Screen.width
화면의 크기를 얻을 수 있어 조절하기 편리하다.수평 배열 GUI
그림처럼 배열하는 방법.
EditorGUILayout.BeginHorizontal();
//横並びにしたいGUI達
GUILayout.EndHorizontal();
Hierarchy에서 선택한 객체 읽어들이기
큰 장면을 렌더링하는 동안 이 고장이 발견되었습니다.
Screen.height
순서대로 하위 객체를 체크 인하고 이름을 바꿉니다.Selection.activeGameObject
하위 객체가 없는 경우 0순환 조건은 오류가 발생하지 않습니다.
총결산
transform.GetChild(i)
덕분에 다양한 편집기를 확장할 수 있을 것 같습니다.있다면 편리한 기능은 갈수록 Editor Windows화될 것이다.
참조 링크: Hierarchy에서 선택한 개체의 아이와 함께 NavMeshArea 설정을 변경하는 방법
Reference
이 문제에 관하여([Unity(C#)] EditorWindow에서 통일적으로 이름 바꾸기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/OKsaiyowa/items/14eb944e55ad90750c71텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)