Unity의 프리팹 시스템에서 Prefab Assets 는 템플릿 역할을 합니다. 에디터에서 생성한 프리팹 에셋은 Project 창에서 에셋으로 저장됩니다. Prefab Assets 에서 프리팹 인스턴스 를 원하는 만큼 생성할 수 있습니다. 프리팹 인스턴스는 에디터에서 생성하여 씬의 일부로 저장하거나, 런타임 시점에 인스턴스화할 수 있습니다.
프리팹 에셋을 생성하려면 Hierarchy 창의 게임 오브젝트를 Project 창으로 드래그하십시오. 게임 오브젝트 및 그와 관련된 모든 컴포넌트와 자식 게임 오브젝트가 Project 창에서 새로운 에셋이 됩니다. Project 창의 프리팹 에셋은 Project 창의 설정 방식에 따라 게임 오브젝트의 썸네일 뷰 또는 파란색 큐브 프리팹 아이콘으로 표시됩니다.
또한 이 프로세스를 통해 프리팹 에셋을 생성하면 원본 게임 오브젝트가 프리팹 인스턴스로 변합니다. 즉, 새롭게 생성된 프리팹 에셋의 인스턴스가 됩니다. 프리팹 인스턴스는 계층에서 파란색 텍스트로 표시되고, 프리팹의 루트 게임 오브젝트는 빨간색, 녹색 및 파란색 게임 오브젝트 아이콘이 아니라 파란색 큐브 프리팹 아이콘으로 표시됩니다.
Project 뷰의 프리팹 에셋을 Hierarchy 또는 Scene 뷰로 드래그하여 에디터에서 프리팹 에셋의 인스턴스를 생성할 수 있습니다.
또한 스크립팅을 사용하여 런타임 시점에 프리팹의 인스턴스를 만들 수도 있습니다. 자세한 내용은 프리팹 인스턴스화를 참조하십시오.
계층 창에서 새 게임 오브젝트를 프로젝트 창의 기존 프리팹 에셋 위로 드래그하여 프리팹을 교체할 수 있습니다.
기존 프리팹을 교체할 경우 Unity는 프리팹 자체와 해당 프리팹의 개별 파트(예: 자식 게임 오브젝트, 컴포넌트)에 대한 레퍼런스를 유지하려고 시도합니다. 이를 위해 Unity는 새 프리팹, 그리고 교체되는 기존 프리팹 간의 게임 오브젝트 이름을 매칭합니다.
참고: 이러한 매칭은 이름으로만 이루어지기 때문에 프리팹의 계층 구조 내에 이름이 동일한 게임 오브젝트가 여러 개 있는 경우에는 어느 게임 오브젝트에 매칭해야 할지 예측할 수 없습니다. 따라서 기존 프리팹을 저장할 때 레퍼런스를 유지하고 싶다면 프리팹 내 모든 게임 오브젝트에 고유한 이름을 지정해야 합니다.
참고: 프리팹 내 단일 게임 오브젝트에 동일한 컴포넌트 타입이 두 개 이상 연결된 경우 기존 프리팹을 저장할 때 기존 컴포넌트에 대한 레퍼런스를 유지하려는 경우 비슷한 문제가 발생할 수 있습니다. 이러한 경우 어느 것을 기존 레퍼런스에 매칭해야 할지 예측할 수 없습니다.
2018–07–31 페이지 게시됨
2018.3에서 네스티드 프리팹과 프리팹 배리언트 추가됨