📖 학습 목표
- 유니티의 프리팹(Prefab)의 개념을 익힙니다.
- 프리팹을 직접 생성하고 인스턴스화(Instantiate) 합니다.
📒 과정
0. Scene 열기
- 프로젝트 폴더 내 Scenes폴더 안에 있는 "3. Prefab"을 엽니다.
1. 프리팹(Prefab)
- Prefab은 "prefabrication, 조립식"의 약어로 공장이나 기타 제조 지역의 구조 부품들을 조합하고 건설 지역에 운송하여 구조물을 위치시키는 것을 의미합니다.
- 유니티에서 프리팹(Prefab)은 게임 오브젝트(GameObject)의 재사용성을 높이기 위한 개념입니다.
- 프리팹은 게임에서 사용되는 오브젝트, 캐릭터, 아이템, 장애물 등의 모든 종류의 게임 요소를 나타낼 수 있습니다.
- 프리팹을 씬에 추가하면 해당 프리팹의 복사본을 만들 수 있습니다.
- 동일한 오브젝트를 반복해서 사용해야 하는 경우에 특히 효과적입니다.
- 하이어라키에서 프리팹 오브젝트는 일반 오브젝트와 달리 아이콘 및 글씨의 색상이 하늘색으로 표시됩니다.
- 프리팹을 클릭하면 인스펙터(Inspector)에서 Transform 컴포넌트 위에 프리팹을 위한 추가 항목이 있습니다.
· Prefab 속성
- 현재 이 오브젝트가 어떤 프리팹을 사용하고있는지 설정합니다.
- 대부분 이 속성은 Project 폴더 내에서 불러올 때 결정되어 그 후로 수정하지 않습니다.
· Overrides속성
- 프리팹의 가장 핵심이 될 기능으로 이 프리팹의 변경사항을 동일한 다른 프리팹에 적용합니다.
- Revert All은 변경사항을 모두 제거하고 최근 저장된 형태로 되돌립니다.
- Apply All은 현재 이 프리팹에 적용된 모든 변경사항을 저장하고 동일한 프리팹에 적용합니다.
· Select
- 이 프리팹이 실제 파일로 저장된 Project폴더 내 위치를 알려주며 그 파일을 선택하게합니다.
· Open
- 선택한 프리팹 오브젝트를 Scene에서 포커싱하여 보여줍니다.
- 우측 상단의 "Auto Save"가 켜져있기에 일반적으로 이 상태에서 오브젝트를 수정한 후 Open 모드를 벗어나면 변경사항이 저장되어 Overrides Apply All이 수행되어 동일한 모든 프리팹에 적용됩니다.
2. 프리팹 불러오기
- 프리팹을 Scene에 추가하려면 간단하게 Project 폴더에서 프리팹 오브젝트를 Scene에 드래그 앤 드랍하면 됩니다.
- 또는 하이어라키에 드래그 앤 드랍을 해도 됩니다.
- 이 과정(복사본을 씬에 불러오기)을 인스턴스화(Instantiate)라고 합니다.
3. 프리팹의 특징
- 프리팹은 오브젝트의 속성을 파일로 저장하여 언제든지 그 파일을 다른곳에 재사용할 수 있습니다.
- 프리팹에 변경사항이 있다면 변경사항을 저장하고 동일한 프리팹에게 모두 적용시킬 수 있습니다.
· 프라팹 생성
- 프리팹을 생성하기 위해서는 프리팹을 불러오는 과정을 반대로 수행합니다.
- 하이어라키에서 프리팹이 아닌 오브젝트를 프로젝트 폴더 안으로 드래그 앤 드랍합니다.
- 프리팹으로 생성되어 하이어라키에서 아이콘과 오브젝트 이름의 색상이 하늘색으로 변경된것을 볼 수 있습니다.
· 프리팹의 변경사항을 저장
- 프리팹의 변경사항을 저장하기위해서는 인스펙터에서 Overrides를 클릭한 후 Apply All을 누릅니다.
- 다른 동일한 프리팹 또한 변경사항이 저장된것을 볼 수 있습니다.
- 프리팹의 변경사항을 저장하지 않으면 프리팹이지만, 별도의 고유한 오브젝트와 같은 개념입니다.
- 꼭 변경사항을 저장할 필요는 없습니다.
📋 학습 완료
- 유니티의 프리팹(Prefab)의 개념을 익혔습니다.
- 프리팹을 직접 생성하고 인스턴스화(Instantiate) 하였습니다.
- 프리팹의 변경사항을 저장하여 동일한 프리팹에 변경사항을 적용하였습니다.
'unity etc. > lecture' 카테고리의 다른 글
[유니티] 물리엔진 - Collider, Rigidbody (3) | 2023.06.19 |
---|---|
[유니티] 에셋 스토어(Asset Store) (0) | 2023.06.19 |
[유니티] 터레인(Terrain) (0) | 2023.06.19 |
[유니티] 오디오(Audio) (0) | 2023.06.19 |
[유니티] 파티클(Particle) - Confetti(컨페티) 효과 제작 (1) | 2023.06.19 |