Game Object로 등록되는 클래스 생성 법
직접 적으로 Game Object로 등록할 수 있는 클래스 생성 법
MonoBehavior 생성
MonoBehavior를 상속받는 클래스를 생성하여, 해당 Object의 동작을 구현한다.
public class MySpecialObject : MonoBehavior
{
void Start() { … }
}
GameObject 메뉴 생성
MenuItem Attribute를 통해 클래스를 생성하여 등록 가능한 클래스를 생성한다.
[MenuItem(“메뉴 위치”, bool isValidateFunction, int priority)]
- 메뉴 위치 : 메뉴에서 표출될 위치로 GameObject를 가장 최 상위로 두고, 서브 메뉴로 접근 (GameObject/Sub Menu)
- isValidationFunction : 해당 메뉴가 호출되기 전에 해당 함수를 검증함
- priority : 메뉴의 우선순위를 설정함
public class MySpecialObjectCreator
{
[MenuItem(“GameObject/My Special Object”, false, 0)]
public static void CreateMySpecialObject()
{
// 새로운 게임 오브젝트 생성
GameObject newObject = new GameObject(“MySpecialObject”);
// MySpecialObject 컴포넌트 추가
newObject.AddComponent<MySpecialObject>();
// 새로 생성한 게임 오브젝트를 선택
Selection.activeGameObject = newObject;
}
}
하위 GameObject 추가
GameObject 하위에 자식 GameObject를 생성하려면, transform.parent를 통해 설정하면 된다. 코드는 아래와 같다.
GameObject parent = new GameObject(“TITLE”);
GameObject subObject = new GameObject(“TITLE”);
subObject.transform.parent = parent.transform;