2014년 8월 13일 수요일

[Unity] Prefab을 이용한 Instance 동적으로 생성하기

Prefab은 GameObject를 Asset화 한 타입입니다. GameObject에 포함되어있는 컴포넌트와 그 안의 값들을 있는 그대로 저장할수있습니다.
한 GameObject를 여러 Scene에서 사용하거나, 한 Scene에서 여러번 생성해야할때 Prefab을 이용하면 좋습니다. 예를 들자면 총알같은 물체에 사용하기에 적합하겠네요.

GameObject prefab = Resources.Load ("Prefabs/Bullet") as GameObject;
// Resources/Prefabs/Bullet.prefab 로드
GameObject bullet = MonoBehaviour.Instantiate (prefab) as GameObject;
// 실제 인스턴스 생성. GameObject name의 기본값은 Bullet (clone)
bullet.name = "bullet"; // name을 변경
bullet.transform.parent = player.transform;
// bullet을 player에 입양하는등 초기화작업 수행

Prefab을 수정하면 Prefab으로 생성한 모든 GameObject를 수정할수있습니다. 나름 편리한 기능이라고 생각합니다.

댓글 1개:

  1. 유용하게 쓰일 수 있을 거 같네요.
    좋은 정보, 감사합니다.

    답글삭제