
1. 말 그대로 청사진 (설계도)
언리얼에서 블루프린트(Blueprint)는 우리말로 “청사진” 입니다.
C++ 클래스는 텍스트 형태의 코드이지만, 여기에 블루프린트를 추가하면, 툴 상에서 시각적인 형태로 보여주기 때문에 해당 클래스를 눈으로 보면서 편집할 수 있게 되는 것입니다.
예를 들면, 액터에 메시를 붙이고, 컴포넌트를 달고, 충돌과 값을 조정하고 ...
이 모든 것을 코드 없이 에디터에서 조립할 수 있게 해주는 것이 블루프린트입니다.
2. 블루프린트없는 액터
액터 클래스를 만든 후에, 월드에 배치해서 컴포넌트 붙이고 값 바꾸고 여러개를 복제해서 쓸 수도 있습니다.
이러면 액터에 블루프린트를 추가한 인스턴스와 차이가 없는 것 아닌가 싶기도 합니다.
"굳이 블루프린트라는 번거로운 과정을 거쳐야 할까?"
"그냥 월드에 있는 놈 복사해서 쓰면 안 되나?"
3. 결정적인 차이
블루프린트는 인스턴스를 만들기 위한 것이라는 설명은 뭔가 좀 부족합니다.
위에서 예를 든것처럼 블루프린트는 없어도 인스턴스를 충분히 만들어낼 수 있기 때문입니다.
그런데 만약 게임 중에 실시간으로 객체를 생성해야 하는 상황을 가정해 보겠습니다.
몬스터가 죽으면 아이템이 생기고,
총알이 발사되고, 적이 스폰되고, 등등
블루프린터없는 인스턴스들은 정적으로 배치된 것들이기 때문에 이러한 일들을 할 수 없습니다.
액터에 블루프린터를 추가한 후에, 에디터 상에서 편집을 통해 원하는 형태를 만들었다면, 그것을 에셋 ( 유니티라면 프리팹 ) 형태로 저장해 놓을수가 있습니다.
이 에셋들은 실시간으로 생성하고 삭제할 수가 있기 때문에 블루프린터가 있는 액터와 없는 액터간의 결정적인 차이가 생기는 것입니다.
요약하자면, 블루프린터의 가장 큰 기능 중의 하나는 클래스를 에셋 형태로 만들어 저장할 수 있도록 하는 역할입니다.
4. 언리얼과 유니티의 차이
유니티를 한번 쯤 다뤄보신 분들이라면, 프리팹을 만드는 과정이 툴상에서 편집하고 마우스로 드래그 하면 되는데,
언리얼은 이런 개념 자체가 없기 때문에 블루프린트를 추가한 후에 에디터 상에서 조립해야 합니다.
이 부분 때문에 프리팹과 같은 개념이라고 설명을 들어도 만드는 과정이 다르기 때문에 잘 와닿지 않았을 수도 있습니다.
왜 언리얼은 이 구조를 썼을까
언리얼은 애초에 “월드는 연출 공간” “에셋은 게임의 부품” 을 강하게 분리한 엔진입니다.
그래서 월드에 있는 것은 그 레벨 전용 오브젝트일 뿐이고, 게임 전체에서 재사용하거나 동적으로 생성하려면 반드시 에셋 형태(블루프린트)로 존재해야 합니다.
그리고 언리얼에서 액터에 블루프린트를 추가해서 개발하는 방식은, 이런 구조 덕분에 오히려 생산성을 크게 높여 주기 때문에 권장됩니다.
5. 블루프린트는 정말 느릴까?
블루프린트를 외형과 구성 요소를 편집하는 용도로만 사용한다면 성능상의 패널티는 사실상 없습니다.
흔히 “블루프린트는 느리다”는 말이 나오는 이유는, 블루프린트 안에서 게임 로직까지 모두 처리할 때 발생하는 것이지, 블루프린트 자체가 액터를 느리게 만드는 것은 아닙니다.
따라서 뼈대는 C++로 잡고, 살점(에셋)은 블루프린트로 붙이는 이 구조가 언리얼이 추구하는 제작 방향입니다.
'Unreal' 카테고리의 다른 글
| [UE5] Directional Light 와 Sky Light 의 관계 (0) | 2026.02.03 |
|---|---|
| 언리얼5 단축키 모음 (0) | 2026.01.13 |
| 언리얼 엔진의 기본 상속 구조 (0) | 2025.12.27 |
| 왜 언리얼 엔진의 클래스 등록 절차는 복잡할까? (0) | 2025.12.27 |
| 특이한 언리얼 좌표계와 회전 방향 (0) | 2025.12.13 |