# 부모자식관계
오브젝트들을 부모 자식관계로 만들면,
자식은 현재 부모를 기준으로 한 좌표를 가진다
그래서 부모가 아무리 회전과 이동을 하더라도,
자식은 부모에게 붙은 상태로 유지되며
회전과 이동에 대한 좌표가 달라지지 않는다
# Prefab 에셋 제작 방법
Hierarchy창에서 원하는 오브젝트를
에셋폴더에 드래그 드롭하면 Prefab 에셋을 생성할 수 있다
반대로, 에셋폴더에 Prefab 에셋을 Hierarchy창에 드래드 드랍하면
Prefab 인스턴스가 생성된다
# Prefab의 작동 방식
Prefab의 작동 방식은 C# class와 동일하게 작동한다
에셋폴더에 있는 Prefab 에셋의 값을 수정하면,
자동으로 엔진에서 해당 Prefab을 사용하는 모든 객체들의 값들을 수정한다
또한, Prefab으로 생성된 각각의 객체들을 다른 값으로 수정할 수도 있다
# Prefab 수정 방법
툴에서 Prefab 에셋을 더블클릭을 하거나
Hierarchy 창에 해당 Prefab Instance의 “>” 버튼을 클릭하면
Prefab 모드로 이동을 해서 수정이 가능하다
# Prefab Instance override
일부 오브젝트를 Prefab 에셋의 기존 값과는 다르게 설정하는 경우에 활용된다
Hierarchy 창에서 원하는 Prefab Instance를 선택하고
Inspector 창에서 Prefab의 기존 값과는 다른 값으로 설정할 수 있다
override 여부 확인방법은 아래와 같다
방법 1) bold체로 되어있는 변수로 확인 가능하다
방법 2) Prefab Inspector 창에서 Overrides 버튼을 통해 히스토리 내역 확인 가능하다
# Nested Prefab
Prefab 안에 Prefab이 들어간 구조를 의미한다
만드는 방법은 아래와 같다
Hierarchy 창에서 새로운 오브젝트를 만들어
Prefab 하나 혹은 여러 개를 해당 오브젝트의 자식으로 넣는다
그리고 Hierarchy에 있는 해당 오브젝트를 Asset 창에 드래그 드롭해서
Nested Prefab을 생성할 수 있다
override를 했다면, 해당 부분도 적용된다
# Prefab Variant
Prefab Variant는 해당 Prefab을 상속받는 Prefab 하나를 생성한다는 의미이다
override 여부도 당연히 적용이 된다
만드는 방법은 아래와 같다
Hierarchy에 등록된 Prefab을 Asset 창에 드래그 드롭해서
Original Prefab을 클릭하면, 그냥 새로운 Prefab 에셋을 만드는 것이고
Prefab Variant를 클릭하면, 선택된 Prefab의 자식 Prefab (변종) 에셋을 만드는 것이다
'게임 엔진 - 유니티 > [루키스] 유니티' 카테고리의 다른 글
[유니티 Note] 섹션 5-1 (0) | 2025.07.02 |
---|---|
[유니티 Note] 섹션 4-2 (0) | 2025.06.25 |
[유니티 Note] 섹션 3-4 (0) | 2025.06.25 |
[유니티 Note] 섹션 3-3 (0) | 2025.06.25 |
[유니티 Note] 섹션 3-2 (0) | 2025.06.24 |