나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-11-16 23:43:33

프리팹

1. 영단어 Prefab2. 레벨 디자인 용어
2.1. 원리와 유용성

1. 영단어 Prefab

조립식 건축의 부품 등을 칭한다.

2. 레벨 디자인 용어


3D 모델 등의 오브젝트 컴포넌트(스크립트)를 원본과 이를 참고로 하는 복제품들을 양산(복붙) 가능하게 정의한 것으로, 해당 개념을 최초로 사용한 것은 하프라이프1의 해머 에디터지만 그 원리와 사용 개념부터가 후발주자들의 것들(원본-동기화)과는 상당히 달랐다.

일단 Prefab으로 통칭되기는 해도 게임 엔진별로 별의별 기능들이나 구조가 다원화된 현재는 각 엔진마다 용어나 사용법들이 다소 다를 수 있으며, 일례로 유니티 엔진이나 크라이엔진 등을 비롯한 대다수의 경우는 원본 그대로 프리팹(12)이라 부르나, 언리얼 엔진의 경우는 블루프린트[1]라는 독자적인 용어를 사용한다. 고도 엔진의 경우는 프리팹에 일대일 대응되는 개념은 없으며, 대신 씬 시스템의 개념이 일반적인 엔진에 비해 매우 확장되어 있어 이를 프리팹과 같이 사용한다.

2.1. 원리와 유용성

일례로 마을이나 도로 곳곳에 100개의 복제 가로등을 배치 후 게임 진행이나 최적화,[2] 일관성을 위해 가로등을 전부 수정해야 한다 치자. 이 때 각각 별개의 조형과 스크립트(컴포넌트)를 가진 오브젝트(혹은 액터)로 배치했다면 100개의 가로등을 일일히 하나하나 수정해야 하나, 가로등이 원본-동기화 관계로 이어져 있다면 프리팹 원본을 수정하는 것만으로 이와 연동된 수많은 복제 가로등들에 변경사항이 적용된다.

또한 레벨 외 부분에도 프리팹을 적용할 수 있는 엔진의 경우 캐릭터와 장비 가능한 것들도 프리팹 처리할 수 있는데, 예를 들어 해골 장식을 달고 다니는 여러 종류의 캐릭터를 만들었는데 혐오감을 일으키거나 미신을 금하는 심의에 걸려 해골 장식을 삭제할 일이 생긴다 치자. 이 경우도 장식을 프리팹화 시켜 각 캐릭터들마다 넣었다면 해당 프리팹 원본을 아무것도 없게 지우거나 다른 조형으로 수정해 주면 해결된다. 이러한 성질 때문에 수정이 잦은 게임 개발에서 흔히 사용된다.


[1] 정확히는 블루프린트 기능의 Class의 일부로 대체되었다. 객체 지향 프로그래밍에서 클래스와 인스턴스의 관계를 생각하면 쉽다. 본래 언리얼 엔진에서도 Prefab이라 명칭하며 프리팹 개념 그대로 사용하였으나 언리얼 엔진 4부터 구조를 변경하였다.[2] 일례로 가로등의 불빛을 다이나믹 라이트가 아닌 블룸 등의 눈속임으로 대체하거나 가로등의 충돌 판정이 까다로워 수정할 필요가 있을 경우 등.