유니티 자주 사용하는 에디터 스크립트 함수 모음
- 유니티게임개발/기초공부
- 2024. 6. 24.
유니티 자주 사용하는 에디터 스크립트 함수 모음
UnityEditor 네임스페이스 추가
using UnityEditor;
EditorWindow 클래스 상속
public class NewBehaviourScript: EditorWindow
에디터 메뉴 항목 추가
MenuItem 속성을 사용하여 정적 함수를 메뉴 명령으로 설정(static 한정자를 사용하여 정적 메서드로 선언)
[MenuItem("MyMenu/Do Something")]
static void DoSomething()
{
Debug.Log("Doing Something...");
}
https://docs.unity3d.com/ScriptReference/MenuItem.html
씬에 새로운 게임 오브젝트 생성
GameObject obj = new GameObject("Empty");
오브젝트에 컴포넌트 추가
BoxCollider collider= ObjectFactory.AddComponent<BoxCollider>(obj);
현재 선택한 게임 오브젝트
Selection.activeGameObject
현재 선택한 게임 오브젝트에 컴포넌트 추가
Selection.activeGameObject.AddComponent<BoxCollider>();
대상 트랜스폼을 현재 선택된 오브젝트로 설정(대상 트랜스폼의 게임오브젝트를 선택)
Transform t;
Selection.activeTransform = t;
씬뷰에서 현재 선택한 게임 오브젝트를 확대하여 표시
SceneView.lastActiveSceneView.FrameSelected();
https://docs.unity3d.com/ScriptReference/SceneView.html
오브젝트 제거
DestroyImmediate(obj);
DestroyImmediate 함수는 에셋을 영구적으로 제거할수있음으로 주의하여 사용한다
https://docs.unity3d.com/ScriptReference/Object.DestroyImmediate.html
컴포넌트 제거
BoxCollider collider= obj.GetComponent<BoxCollider>();
DestroyImmediate(collider);
게임 오브젝트를 프로젝트 폴더에 프리팹 에셋으로 저장
string localPath = "Assets/Prefabs/" + gameObject.name + ".prefab";
PrefabUtility.SaveAsPrefabAsset(gameObject, localPath);
https://docs.unity3d.com/ScriptReference/PrefabUtility.SaveAsPrefabAsset.html
https://docs.unity3d.com/ScriptReference/AssetDatabase.GenerateUniqueAssetPath.html
에셋 폴더(Assets)에 새로운 폴더와 에셋 생성
https://docs.unity3d.com/ScriptReference/AssetDatabase.CreateFolder.html
https://docs.unity3d.com/ScriptReference/AssetDatabase.CreateAsset.html
'유니티게임개발 > 기초공부' 카테고리의 다른 글
유니티 두가지 UI 시스템 UGUI와 NGUI (0) | 2024.06.25 |
---|---|
유니티(Unity) 리소스 클래스(Resources) 함수 예시 모음(Resources.Load, Resources.LoadAll) (0) | 2024.06.24 |
유니티(Unity)에서 Start, OnEnable 함수 실행 순서 확인 (0) | 2024.06.20 |
유니티(Unity)에서 메시의 submesh 확인하기 (0) | 2024.06.19 |
유니티(Unity)에서 두번째 UV 텍스처 좌표의 여백 설정하기 (0) | 2024.06.19 |