Nested Prefab
프리펩 안에 다른 프리펩이 들어가 있는 구조
다른 프리팹 내에 프리팹 인스턴스를 포함할 수 있다. 이를 네스티드 프리팹이라고 부른다.
네스티드 프리팹은 고유한 프리팹 에셋 링크를 보유하며 다른 프리팹 에셋의 일부를 형성한다.
Ex) 사람 프리팹을 만들고 무기 프리팹을 만들어서 그 사람 프리팹 안에 넣을 수 있는 무기 프리팹을 넣고 각 프리팹을 Prefab Mode로 수정가능 (사람 1, 사람 2, 사람 3 프리팹은 따로 쓰고 무기 프리팹은 하나로 관리 가능)
프리팹 모드에서 네스티드 프리팹 추가
프리팹 모드에서는 씬에서와 동일한 방법으로 프리팹 인스턴스를 추가하는 등의 작업을 수행할 수 있다.
Project 창의 프리팹 에셋을 Hierarchy 창 또는 Scene 뷰로 드래그하면 방금 연 프리팹 내에 있는 해당 에셋으로부터 프리팹 인스턴스를 생성할 수 있다.
참고: 프리팹 모드에서 열려 있는 프리팹의 루트 게임 오브젝트는 파란색 큐브 프리팹 아이콘으로 표시되지 않지만, 다른 프리팹의 인스턴스는 파란색 큐브 프리팹 아이콘으로 표시된다. 씬의 프리팹 인스턴스와 마찬가지로 이러한 프리팹 인스턴스에 오버라이드를 추가할 수도 있다.
인스턴스를 통한 프리팹 중첩
프리팹 모드를 시작하지 않고도 다른 게임 오브젝트를 추가하는 방식과 동일하게 프리팹 인스턴스를 씬의 다른 프리팹 인스턴스에 자식으로 추가할 수도 있다. 이렇게 프리팹 인스턴스가 추가되면 Hierarchy 창의 아이콘 위에 더하기 배지가 오버레이 되어 바깥쪽 프리팹의 특정 인스턴스에 대한 오버라이드임을 나타낸다.
추가한 프리팹은 다른 오버라이드와 마찬가지로 (Overrides 드롭다운 창, 또는 Hierarchy 창에서 게임 오브젝트의 컨텍스트 메뉴를 통해) 바깥쪽 프리팹에 추가하거나 되돌릴 수 있다. Overrides 드롭다운 버튼은 바깥쪽 프리팹에만 표시된다. 적용된 프리팹은 더 이상 오버라이드가 아니므로 더하기 배지가 표시되지 않지만, 바깥쪽 프리팹 에셋 자체에는 포함된다. 또한 그 자체가 프리팹 인스턴스이므로 파란색 큐브 아이콘으로 표시되고, 자체 프리팹 에셋에 대한 연결을 보유한다.
네스티드 프리펩 단점
(프리펩이 레퍼런스 체제이기 때문에 )메모리를 공유하기 때문에 뭘 수정해도 같이 바뀌어서 관리가 힘들다.
감싸는 개념이기 때문에 하나를 바꾸면 다 수정된다. 따라서 네스티드 프리펩은 지양하는 것이 좋다.
참고 및 출처: 유니티 매뉴얼
HyunZzang의 프로그래밍 공간 / 함께 공부해요!!
도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다 :)