프리팹 모드
프리팹 모드에서는 템플릿을 편집하며, 저장하면 그 편집이 템플릿의 모든 배치에 반영됩니다. 배치의 인스펙터에서 "프리팹 편집" 버튼으로 들어가고, Ctrl+Shift+E 키로 레벨로 돌아갑니다
프리팹 모드
템플릿의 배치 하나가 아니라 템플릿 자체를 편집하는 것입니다. 저장하면 이 템플릿을 참조하는 모든 배치에 변경이 반영됩니다
배치가 작동하는 방식:
- 배치가 템플릿을 가리키는 순간, 배치는 영구 ID를 가진 템플릿 오브젝트의 실제 복사본을 받습니다. 에디터에서 프리팹의 자식은 완전히 평범한 오브젝트입니다
- 레벨 파일에는 배치만 저장됩니다: 템플릿, 복사본의 ID, 오버라이드. 복사본은 레벨을 불러올 때마다 템플릿에서 다시 만들어집니다
- 배치는 인스턴스별 오버라이드로 템플릿과 다를 수 있습니다. 오버라이드는 그런 오브젝트를 프리팹 모드 밖에서 편집할 때 기록됩니다
- 프리팹 모드에서 한 편집은 오버라이드를 기록하지 않습니다. 템플릿 자체를 바꿉니다
템플릿은 서로 겹쳐서 열립니다. 템플릿 안의 배치는 자기 템플릿을 열고, 저장 후 닫기 버튼으로 돌아옵니다. 같은 템플릿을 동시에 두 번 열 수는 없습니다. 중첩 한도는 8단계입니다
자세히 - 재사용: 프리팹, 복사, 생성기
들어가기와 나가기
들어가는 방법은 두 가지입니다:
- 배치의 인스펙터에 있는
프리팹 편집버튼 - 레벨 설정
Prefabs탭의 템플릿 행에 있는편집버튼. 배치가 필요 없으므로 어디에도 배치되지 않았거나 다른 템플릿 안에만 배치된 템플릿도 열 수 있습니다
컨텍스트 메뉴와 명령 팔레트의 프리팹 모드로 열기 항목은 선택한 배치나 배치가 가져온 오브젝트에 대해 같은 일을 합니다. 템플릿 안에서 대응하는 오브젝트가 바로 선택됩니다
나가는 방법도 두 가지입니다:
- 프리팹 타임라인의
저장 후 닫기버튼은 한 단계만 나가서, 이 템플릿을 연 템플릿으로 돌아갑니다 - 메인 툴바의 상태 표시(
Editing '...')와Ctrl+Shift+E키는 열린 템플릿을 모두 한 번에 닫고 레벨로 돌아갑니다
들어가거나 나갈 때마다 선택이 지워집니다. 한 단계 돌아가면 그 템플릿에서 선택했던 것이 복원됩니다
템플릿 안에서 선택은 레벨에서와 같이 작동합니다: 클릭, Ctrl 클릭, 사각형 선택, 삭제, 복사, 접기. 뷰포트를 클릭해도 거기서는 아무것도 선택되지 않습니다: 뷰포트는 계속 레벨을 보여 주며, 템플릿의 실시간 미리 보기는 없습니다
템플릿 내부
템플릿의 모든 오브젝트는 루트 아래에 매달립니다. 루트는:
- 템플릿 전체에 걸칩니다. 길이는
프레임 길이값이며, 루트의 인스펙터와Prefab탭에서 같은 숫자입니다 - 삭제하거나 부모를 지정할 수 없습니다
활성,레이어값이 읽기 전용입니다. 이 값은 각 배치에 속합니다
정확히 하나가 선택되어 있으면(루트 포함) 새 오브젝트는 선택한 오브젝트 아래로 들어갑니다. 그렇지 않으면 템플릿의 최상위 수준, 즉 루트 아래로 들어갑니다. 새 오브젝트는 부모의 구간 전체에 걸치며 양 끝에 앵커가 걸립니다. 최상위 수준에서는 템플릿 전체입니다
레벨 전체가 필요한 생성기는 여기서 사용할 수 없습니다. 선택 항목으로 프리팹을 만들거나 배치를 평탄화하는 것도 템플릿 안에서는 거부됩니다
선택 항목으로 프리팹 만들기
선택한 오브젝트를 새 템플릿으로 바꾸고, 그 자리에 템플릿의 배치 하나를 놓습니다. 이후에도 레벨은 똑같이 보이고 똑같이 플레이됩니다
찾는 곳:
- 계층 구조 행 메뉴의
이 항목으로 프리팹 생성항목 - 뷰포트의 컨텍스트 메뉴
- 명령 팔레트의
선택 항목으로 프리팹 생성명령,Ctrl+G - 레벨 설정
Prefabs탭의선택 항목에서버튼
확인을 묻지 않으며 실행 취소 한 단계입니다. 새 배치가 선택된 상태가 됩니다. 오브젝트가 하나면 템플릿에 그 이름이 붙습니다. 여러 개면 템플릿 이름은 Prefab입니다. 이름은 레벨 설정 Prefabs 탭에서 바꿉니다
거부되는 경우:
- 배치, 또는 배치가 가져온 오브젝트. 이런 경우 메뉴는 대신
프리팹 모드로 열기항목을 제공합니다 - 15단계보다 깊게 중첩되는 선택. 아무것도 기록되지 않으며, 메시지가 그렇게 알려 줍니다
배치 평탄화
배치와 템플릿의 연결을 끊습니다: 배치의 오브젝트는 일반 레벨 오브젝트가 되고 지금 있는 자리에 그대로 남습니다
찾는 곳: 배치의 인스펙터, 계층 구조 행 메뉴, 명령 팔레트의 프리팹 평탄화 항목
항상 먼저 확인을 묻습니다. 이후에도 레벨은 똑같이 보이므로, 실수로 평탄화하면 훨씬 나중에, 템플릿 편집이 더 이상 반영되지 않을 때에야 알아차리게 됩니다. 배치를 여러 개 선택하면 확인 한 번, 실행 취소 한 단계입니다
배치가 가져온 오브젝트만 따로 평탄화할 수는 없습니다. 그 오브젝트가 속한 배치를 평탄화하십시오
중첩 프리팹도 평탄화
평탄화하는 프리팹 안에 있는 프리팹이 어떻게 될지 정합니다
꺼짐 - 지정한 배치만 템플릿을 더 이상 따르지 않습니다. 그 안에 배치된 프리팹은 배치로 남고 연결을 유지합니다. 그 내부 템플릿을 편집하면 여전히 레벨에 반영됩니다. 이것이 기본값입니다: "이 프리팹 풀기"가 보통 원하는 동작이기 때문입니다. 확인 창이 열릴 때마다 스위치는 꺼져 있습니다
켜짐 - 중첩된 것도 모두 평탄화됩니다. 한 번 누르면 레벨의 어떤 것도, 어느 깊이에서든 그 내부 템플릿과 연결되지 않습니다
어느 쪽이든 템플릿 자체는 레벨에 남습니다. 평탄화 전체가 실행 취소 한 단계입니다