본문 바로가기

블루프린트 에디터 인터페이스

컴포넌트·디테일·마이 블루프린트·이벤트 그래프·뷰포트의 역할을 익혀 에디터 작업 흐름을 이해합니다.

콘텐츠 브라우저에서 블루프린트 에셋을 두 번 클릭하면 블루프린트 에디터가 열립니다. 처음 보면 패널이 여러 개 붙어 있어서 어디서 노드를 놓고 어디서 값을 바꾸는지 헷갈리기 쉽습니다. 하지만 패널마다 맡은 일이 분명하게 나뉘어 있으므로, 각 패널이 무엇을 보여 주고 무엇을 고치는 곳인지만 알면 작업할 위치를 금방 찾을 수 있습니다.

이 글에서는 액터 블루프린트를 열었을 때 보이는 블루프린트 에디터의 패널을 하나씩 살펴봅니다. 그리고 다음 글의 실습에서 문구를 바꾸거나 메시를 고를 때 어느 패널로 가야 하는지, 같은 속성이 왜 어떤 때는 보이고 어떤 때는 보이지 않는지를 정리합니다.


에디터를 이루는 패널

공식 문서는 블루프린트 클래스 에디터에 기본으로 보이는 영역을 메뉴, 툴바, 컴포넌트(Components), 마이 블루프린트(My Blueprint), 그래프 에디터(Graph Editor), 디테일(Details) 패널의 여섯 가지로 나눕니다. 액터 블루프린트라면 가운데 영역에 뷰포트(Viewport), 컨스트럭션 스크립트(Construction Script), 이벤트 그래프(Event Graph) 탭이 함께 열립니다. 이 밖에 디버그(Debug), 컴파일러 결과(Compiler Results), 검색 결과(Find Results) 같은 패널은 Window 메뉴에서 필요할 때 엽니다.

툴바에는 블루프린트를 컴파일하는 Compile 버튼과 에셋을 저장하는 Save 버튼이 있고, 블루프린트 전체의 설정과 기본값을 여는 Class Settings와 Class Defaults 버튼도 있습니다. 이 글에서는 노드를 만들고 값을 고칠 때 가장 자주 오가는 다섯 패널을 중심으로 봅니다.


컴포넌트 패널: 액터를 이루는 부품

컴포넌트 패널은 지금 편집하는 액터(Actor)가 어떤 컴포넌트(Component)로 이루어져 있는지를 계층 구조로 보여 줍니다. 컴포넌트는 액터에 기능이나 시각 요소를 붙이는 단위입니다. 3D 모델을 표시하는 Static Mesh 컴포넌트, 빛을 내는 Point Light 컴포넌트, 액터를 일정한 속도로 돌리는 Rotating Movement 같은 이동 컴포넌트가 대표적입니다.

이 패널에서는 Add 버튼으로 새 컴포넌트를 추가하고, 끌어다 놓아 부모와 자식 관계를 바꾸고, 컴포넌트 하나를 선택해 디테일 패널에서 속성을 편집합니다. 필요한 기능을 가진 부품을 골라 조립하는 과정이라고 생각하면 됩니다. 컴포넌트의 종류와 계층 구조는 블루프린트 컴포넌트의 사용법에서 자세히 다룹니다.


디테일 패널: 선택한 대상의 속성

디테일 패널은 지금 선택한 대상의 상세 속성을 보여 주고 편집하게 해 주는 패널입니다. 여기서 중요한 것은 "선택한 대상"입니다. 컴포넌트를 선택하면 그 컴포넌트의 속성이, 그래프의 노드를 선택하면 그 노드의 설정이, 마이 블루프린트의 변수를 선택하면 그 변수의 타입과 기본값이 나타납니다.

예를 들어 Static Mesh 컴포넌트를 선택하면 어떤 3D 모델을 표시할지, 크기를 얼마로 할지 같은 속성을 이곳에서 정합니다. 같은 패널이 선택에 따라 전혀 다른 내용을 보여 주므로, 찾는 항목이 보이지 않을 때는 먼저 무엇을 선택했는지부터 확인해야 합니다. 자동차의 계기판이 하나의 화면에서 속도, 연료, 엔진 상태를 모두 보여 주는 것과 비슷하지만, 디테일 패널은 한 번에 선택한 대상 하나의 속성만 보여 준다는 점이 다릅니다.


마이 블루프린트 패널: 블루프린트에 든 것의 목록

마이 블루프린트 패널은 이 블루프린트 안에 무엇이 들어 있는지를 나무 구조로 보여 주는 목차이자, 새 항목을 만드는 곳입니다. 공식 문서 기준으로 다음과 같은 묶음이 있습니다.

  • 그래프(Graphs): 노드 네트워크입니다. 일반 블루프린트에는 항상 ConstructionScript와 EventGraph가 있습니다.
  • 함수(Functions): 같은 블루프린트의 다른 그래프에서 호출할 수 있는 노드 그래프로, 입력을 받고 결과를 돌려줄 수 있습니다.
  • 매크로(Macros): 여러 노드를 하나로 접어 둔 것과 비슷한 재사용 단위이며, 실행 핀을 여러 개 둘 수 있습니다.
  • 변수(Variables): 체력, 점수, 다른 액터에 대한 참조처럼 블루프린트가 기억할 값을 저장합니다.
  • 이벤트 디스패처(Event Dispatchers): 여러 이벤트를 묶어 두었다가 한 번의 호출로 함께 실행하게 합니다.

목록의 변수나 함수를 그래프로 끌어다 놓으면 그 항목을 쓰는 노드가 만들어지고, 각 묶음 옆의 + 버튼으로 새 항목을 만듭니다. 패널 위쪽의 검색 상자로 이 블루프린트 안의 항목을 이름으로 찾을 수도 있습니다. 변수와 함수, 매크로, 이벤트 디스패처는 각각 2장과 4장에서 자세히 다룹니다.


그래프 에디터와 이벤트 그래프

그래프 에디터는 노드를 배치하고 선으로 이어 로직을 만드는 가운데 작업 공간입니다. 그중 이벤트 그래프는 이벤트(event)에 반응해 어떤 행동(action)을 할지를 설계하는 그래프로, "게임이 시작되면 문구를 출력한다"나 "특정 키가 눌리면 캐릭터가 점프한다" 같은 흐름이 여기에 들어갑니다. 빈 곳을 오른쪽 클릭하면 노드를 찾아 추가하는 메뉴가 열립니다.

모든 로직이 이벤트 그래프에 들어가는 것은 아닙니다. 이벤트에 반응하는 흐름은 이벤트 그래프에 두고, 재사용할 함수와 매크로는 마이 블루프린트에서 두 번 클릭해 각자의 그래프 탭에서 편집합니다. 컨스트럭션 스크립트는 액터가 에디터에 배치되거나 속성이 바뀔 때, 그리고 플레이 중에 스폰될 때 실행되는 별도의 그래프이며, 액터 초기화와 종료 이벤트에서 BeginPlay와 비교합니다.


뷰포트 패널: 배치 결과를 보는 곳

액터 블루프린트에서는 뷰포트 패널에서 컴포넌트가 실제로 어떻게 배치되어 있는지를 3D로 봅니다. 월드에 놓였을 때의 모습을 미리 보면서 컴포넌트의 위치, 회전, 크기를 바로 조정할 수 있으므로, 값을 바꿀 때마다 레벨에 배치하고 플레이해 보는 수고가 줄어듭니다. 뷰포트 탭이 보이지 않으면 Window 메뉴에서 Viewport를 열면 됩니다.


레벨의 인스턴스와 블루프린트 에셋

디테일 패널이 블루프린트 에디터에만 있는 것은 아닙니다. 레벨 에디터에서 배치된 액터를 선택해도 디테일 패널이 나타나는데, 이때 고치는 것은 레벨에 놓인 그 인스턴스 하나의 값입니다. 반면 블루프린트 에디터에서 고치는 것은 블루프린트 에셋의 기본 구성으로, 이 에셋으로 만든 인스턴스 전체의 출발점이 됩니다. 어느 편집기에서 무엇을 선택했는지에 따라 디테일 패널에 표시되는 대상이 달라지는 것입니다.

다음 글에서 만들 BP_WelcomeMessage로 예를 들어 보겠습니다. 출력할 문구를 바꿀 때는 이벤트 그래프에서 Print String 노드를 선택하고 그 노드의 In String 값을 편집합니다. 이 액터에 Static Mesh 컴포넌트를 추가했다면, 표시할 메시를 고를 때는 컴포넌트 패널에서 그 컴포넌트를 선택한 뒤 디테일 패널을 봅니다. 두 작업 모두 같은 블루프린트 에디터에서 하지만 선택하는 대상이 다릅니다. 또 에셋의 기본 설정을 고친 뒤에는 Compile과 Save를 하고, 레벨에서 인스턴스의 위치를 바꿨다면 레벨까지 저장했는지 확인합니다.


패널을 오가는 순서

처음에는 모든 패널을 동시에 쓰려 하기보다 같은 순서를 되풀이하는 편이 익히기 쉽습니다. 먼저 이벤트 그래프에서 이벤트와 결과를 잇는 가장 작은 노드 흐름을 만듭니다. 다음으로 선택한 대상이 맞는지 확인한 뒤 디테일 패널에서 노드나 컴포넌트의 속성을 조정하고, 뷰포트 패널에서 배치 결과를 확인합니다. 흐름이 길어지면 마이 블루프린트에서 변수와 함수, 매크로를 만들어 정리합니다.

이 순서를 지키면 "지금 무엇을 하려고 이 패널에 왔는지"가 분명해져서, 결과가 이상할 때도 어느 단계로 돌아가 확인할지 바로 알 수 있습니다. 처음에는 화면이 복잡해 보여도 패널마다 맡은 일을 알고 몇 번 반복하면 금방 익숙해집니다.


정리

  • 블루프린트 클래스 에디터는 메뉴, 툴바, 컴포넌트, 마이 블루프린트, 그래프 에디터, 디테일 패널로 이루어지고, 액터 블루프린트에서는 뷰포트와 컨스트럭션 스크립트, 이벤트 그래프 탭이 함께 열립니다.
  • 컴포넌트 패널은 액터를 이루는 부품과 그 계층을, 디테일 패널은 지금 선택한 대상 하나의 속성을 보여 줍니다.
  • 마이 블루프린트 패널은 그래프, 함수, 매크로, 변수, 이벤트 디스패처의 목록이자 새 항목을 만드는 곳입니다.
  • 이벤트에 반응하는 흐름은 이벤트 그래프에, 재사용할 함수와 매크로는 각자의 그래프에 둡니다.
  • 레벨 에디터의 디테일 패널은 배치된 인스턴스 하나를, 블루프린트 에디터는 에셋의 기본 구성을 고칩니다.

연습 문제

1. 메시 항목이 보이지 않는 이유

Static Mesh 컴포넌트가 있는 Actor 블루프린트에서, Print String 노드를 선택한 채 디테일 패널을 보고 있습니다. 사용할 메시를 고르는 항목이 없다고 합니다. 메시를 새로 가져오기 전에 어디를 먼저 확인할까요?

해설 보기

컴포넌트 패널에서 실제 Static Mesh 컴포넌트를 선택했는지 확인합니다. 지금 디테일 패널에 보이는 것은 Print String 노드의 설정이며, 컴포넌트의 메시 속성과는 다른 대상입니다.

컴포넌트가 아예 없다면 먼저 추가해야 하지만, 이 문제에서는 이미 컴포넌트가 있으므로 에셋을 다시 가져올 이유가 없습니다. 디테일 패널에서 항목이 보이지 않을 때는 선택한 대상부터 확인하는 것이 가장 빠릅니다.

2. 작업마다 갈 패널 정하기

BP_WelcomeMessage에서 두 가지를 바꾸려고 합니다. 하나는 화면에 출력할 환영 문구이고, 다른 하나는 이 액터에 붙인 Static Mesh 컴포넌트가 표시할 모델입니다. 각 작업에서 무엇을 선택하고 어느 패널에서 값을 바꿔야 할까요? 바꾼 뒤에 할 일도 적어 보세요.

해설 보기

환영 문구는 이벤트 그래프에서 Print String 노드를 선택하고, 노드의 In String 값을 고칩니다. 모델은 컴포넌트 패널에서 Static Mesh 컴포넌트를 선택한 뒤 디테일 패널의 메시 항목에서 고릅니다.

두 작업 모두 블루프린트 에셋의 기본 구성을 바꾼 것이므로, 마친 뒤에는 툴바에서 Compile과 Save를 해야 다음 플레이에 반영됩니다.

3. 인스턴스 하나만 바뀐 이유

같은 블루프린트로 만든 액터 세 개를 레벨에 배치했습니다. 레벨 에디터에서 그중 하나를 선택하고, 디테일 패널에서 그 액터의 Static Mesh 컴포넌트를 골라 Scale을 키웠더니, 나머지 두 개는 그대로였습니다. 세 개를 모두 같은 크기로 바꾸려면 어디서 고쳐야 할까요?

해설 보기

레벨 에디터의 디테일 패널은 선택한 인스턴스 하나의 값을 고치므로, 나머지 두 인스턴스에는 영향이 없습니다. 세 개를 함께 바꾸려면 블루프린트 에디터에서 에셋의 기본 구성을 고쳐야 합니다.

블루프린트 에디터에서 해당 컴포넌트의 크기를 바꾸고 Compile과 Save를 하면, 인스턴스에서 따로 덮어쓰지 않은 값은 모두 새 기본값을 따릅니다. 이미 레벨에서 직접 바꾼 인스턴스는 그 값이 남아 있을 수 있으므로 함께 확인합니다.

블루프린트 클래스 에디터의 패널 구성은 언리얼 엔진 공식 문서의 블루프린트 클래스 UI와 마이 블루프린트 패널 설명에서 확인할 수 있습니다.

다음 글 첫 번째 블루프린트 생성 및 실행에서는 이 에디터로 Actor 블루프린트를 직접 만들고, BeginPlay에서 문구를 출력해 봅니다.