흔히 줄여서 '블루프린트'라고도 부르는 언리얼 엔진의 블루프린트 비주얼 스크립팅 시스템은 노드 기반 인터페이스를 사용하여 코드를 작성하지 않고도 게임플레이 함수 기능을 생성할 수 있는 비주얼 스크립팅 언어입니다. 블루프린트 시스템은 작성된 스크립팅 언어와 유사하게 숫자, 부울, 배열, 구조체 등 타입이 지정된 데이터와 함께 작동합니다. 로직은 실행 와이어를 따라 흐르며, 각 노드는 명시적으로 실행하라는 명령을 받을 때만 실행됩니다.
블루프린트 클래스를 사용하면 피지컬 컴포넌트와 스크립팅된 비헤이비어를 페어링할 수 있습니다. 예를 들어 블루프린트에는 플레이어가 동전에 닿으면 동전을 줍게 하는 동전 스태틱 메시와 비헤이비어가 포함될 수 있습니다.
여러 일반적인 스크립팅 언어와 마찬가지로 이 시스템을 사용하면 엔진에서 오브젝트 지향 클래스 또는 오브젝트를 정의할 수 있습니다. 언리얼 엔진의 C++ 구현에는 블루프린트 전용 마크업이 포함되어 있으므로 프로그래머는 디자이너가 확장할 수 있는 베이스라인 시스템을 만들 수 있습니다.
이 개요에서는 다양한 타입의 블루프린트 에셋에 대해 알아보며 샘플 블루프린트 클래스를 둘러보면서 해당 블루프린트의 특정 엘리먼트를 수정하고, 이러한 변경사항이 레벨 에디터와 게임플레이에서 해당 블루프린트 액터에 어떻게 영향을 미치는지 살펴봅니다.
블루프린트 타입
블루프린트 에셋의 타입은 다양하며, 각각 고유한 역할을 합니다. 블루프린트를 만들어서 저장하면 콘텐츠 패키지의 에셋 파일이 됩니다.
블루프린트 클래스
블루프린트 클래스는 흔히 블루프린트라고 줄여 부르며, 콘텐츠 제작자는 이를 통해 기존 게임플레이 클래스에 기능을 손쉽게 추가할 수 있습니다. 블루프린트는 코드를 입력하는 대신 언리얼 에디터 내에서 시각적으로 생성되며, 콘텐츠 패키지에 에셋으로 저장됩니다. 이는 새로운 클래스 또는 액터 타입을 정의하며, 다른 액터 타입과 유사하게 동작하는 인스턴스로 맵에 배치할 수 있습니다.
블루프린트 클래스는 컴포넌트, 변수 및 블루프린트 비주얼 스크립팅을 사용하여 게임에 포함되어 있는 오브젝트의 프로퍼티와 비헤이비어를 설명하는 레시피와 같습니다. 개발자는 이러한 블루프린트 클래스의 인스턴스를 레벨에 추가하게 됩니다.
가장 흔히 작업하게 되는 타입은 블루프린트 클래스이며, 종종 줄여서 블루프린트라고도 합니다.
블루프린트 클래스는 실행 로직을 포함하지 않고 부모 블루프린트에서 상속받은 변수 또는 컴포넌트만 오버라이드하는 경우 데이터 전용일 수 있습니다.데이터 전용 블루프린트 클래스는 컴팩트 에디터에서 열리지만 새로운 로직, 그래프 또는 기타 스크립팅된 엘리먼트를 추가하면 풀 블루프린트 에디터로 변환됩니다.
추가 문서는 클래스 블루프린트를 참고하세요.
레벨 블루프린트
모든 레벨에는 레벨 블루프린트가 있습니다. 새 레벨을 생성하면 언리얼 엔진이 해당 레벨의 레벨 블루프린트를 자동으로 생성합니다. 이 타입의 블루프린트는 레벨 전체에서 글로벌 이벤트 그래프로 작동합니다.
레벨 블루프린트는 레벨 스트리밍 및 시퀀서 시네마틱을 위한 컨트롤 메커니즘과 레벨 내에 배치된 액터에 이벤트를 바인딩하기 위한 컨트롤 메커니즘을 제공합니다.
레벨의 레벨 블루프린트를 열려면 레벨 에디터의 메인 툴바에 있는 블루프린트(Blueprint) 메뉴를 사용합니다.
추가 문서는 레벨 블루프린트를 참고하세요.
블루프린트 인터페이스
블루프린트 인터페이스 에셋은 이름만 있고 구현은 없는 하나 이상의 컬렉션으로, 다른 블루프린트에 추가할 수 있습니다. 인터페이스가 추가된 블루프린트는 해당 함수를 반드시 갖게 됩니다. 인터페이스의 함수는 인터페이스를 추가한 각 블루프린트에서 기능을 부여할 수 있습니다. 이는 일반 프로그래밍의 인터페이스 개념과 본질적으로 같습니다. 여러 다른 타입의 오브젝트가 모두 공통 인터페이스를 공유하고 이를 통해 액세스되도록 지원합니다. 블루프린트 인터페이스는 단순하게 말해 서로 다른 블루프린트가 데이터를 주고받을 수 있게 해줍니다.
블루프린트 인터페이스는 다음을 수행할 수 없습니다.
새 변수 추가
그래프 편집
컴포넌트 추가
추가 문서는 블루프린트 인터페이스 및 인터페이스 퀵스타트 가이드를 참고하세요.
블루프린트 라이브러리
'라이브러리' 에셋에 함수와 매크로를 만들어 로직을 재사용함으로써 프로젝트의 모든 블루프린트에서 액세스 가능하게 만들 수 있습니다.
블루프린트 함수 라이브러리
블루프린트 함수 라이브러리는 재사용 가능한 함수 컬렉션을 저장하는 블루프린트 에셋입니다. 이러한 함수는 특정 블루프린트나 액터에 연결되어 있지 않습니다. 대신 전체 프로젝트에서 글로벌로 액세스할 수 있고, 모든 블루프린트 클래스에서 호출할 수 있습니다. 라이브러리는 유용한 함수를 한곳에 보관해 주므로 이러한 함수를 여러 블루프린트에 복사하여 붙여 넣지 않아도 됩니다.
블루프린트 함수 라이브러리의 함수는 스태틱입니다. 즉, 호출 사이에 정보를 저장하거나 기억하지 않으며, 파라미터로 데이터를 전달하지 않는 한 특정 블루프린트 인스턴스에 대한 정보를 알지 못합니다. 이 때문에 함수 라이브러리는 입력에서 오퍼레이션을 수행하고 결과를 반환하는 범용 로직에 가장 적합합니다. 플레이어의 인벤토리 같이 기능이 오브젝트의 내부 변수에 따라 달라지는 경우 기능은 일반적으로 라이브러리가 아닌 해당 오브젝트의 블루프린트에 속합니다.
블루프린트 매크로 라이브러리
블루프린트 매크로 라이브러리는 다른 블루프린트에 노드로 배치할 수 있는 자체 포함된 그래프 또는 매크로 컬렉션을 보관하는 컨테이너입니다. 실행과 데이터 전송을 위한 입력과 출력이 있는 노드에서 일반적으로 사용되는 시퀀스를 저장할 수 있으므로, 시간을 절약할 수 있습니다.
매크로는 매크로를 레퍼런스하는 모든 그래프에서 공유되지만, 컴파일하는 동안 접힌 노드인 것처럼 그래프에서 자동으로 펼쳐집니다. 따라서 블루프린트 매크로 라이브러리는 컴파일할 필요가 없습니다. 하지만 매크로에 대한 변경사항은 해당 매크로를 레퍼런스하는 그래프를 포함하는 블루프린트를 리컴파일해야 해당 그래프에 반영됩니다.
추가 문서는 블루프린트 매크로 라이브러리 및 매크로 만들기를 참고하세요.
함수는 재사용 가능한 로직 블록으로, 입력을 취해 한 번 실행되고 결과를 반환할 수 있습니다. 따라서 계산이나 확인이 필요한 경우에 이상적입니다.매크로는 재사용 가능한 그래프 레이아웃으로, 사용되는 블루프린트에서 직접 펼쳐집니다. 따라서 실행 출력이 여러 개 있을 수 있고, 흐름을 시각적으로 제어하는 데 유용합니다.
블루프린트 유틸리티
블루프린트 유틸리티 또는 에디터 유틸리티는 에디터 액션을 수행하거나 에디터 기능을 확장하는 데 사용할 수 있는 에디터 전용 블루프린트입니다. 이러한 함수는 파라미터가 없는 이벤트를 UI의 버튼으로 노출하고, 블루프린트에 노출된 함수를 실행하여 뷰포트에서 현재 선택된 액터 세트에 작동하게 만듭니다.
블루프린트 클래스 둘러보기
시작하기 전에 1인칭 또는 3인칭 템플릿(원하는 베리언트)을 기반으로 하는 언리얼 에디터 프로젝트가 필요합니다.
새 언리얼 엔진 프로젝트를 생성하는 방법은 언리얼에서 첫 프로젝트 생성하기를 참고하세요.
기존 블루프린트 열기
템플릿으로 프로젝트를 생성했으므로 프로젝트에 이미 여러 블루프린트가 포함되어 있으며, 이를 탐색하고 사용할 수 있습니다. 포함된 블루프린트 클래스 중에는 플레이어가 위쪽으로 빠르게 점프할 수 있게 해주는 점프 패드 블루프린트가 있습니다. 이 블루프린트의 인스턴스는 레벨 어디에나 추가할 수 있습니다.
점프 패드 블루프린트를 열려면 다음 단계를 따릅니다.
언리얼 엔진에서 화면 왼쪽 하단에 있는 콘텐츠 드로어(Content Drawer) 버튼을 클릭합니다. 또는 Ctrl을 누른 채 Space를 눌러도 됩니다.
콘텐츠(Content) > LevelPrototyping > Interactable > JumpPad 폴더로 이동합니다.
블루프린트 클래스인
BP_JumpPad에셋을 찾을 수 있습니다. 에셋을 더블클릭하여 블루프린트 에디터에서 엽니다.기본적으로 블루프린트는 새 창에서 열립니다. 메인 에디터에서 에셋 이름이 있는 탭을 레벨 탭 옆으로 드래그하여 창을 도킹할 수 있습니다.
블루프린트 에디터에서는 컴포넌트를 정의하고, 구성 오퍼레이션을 수행하고, 이벤트에 응답하고, 오퍼레이션을 구성 및 모듈화하고, 프로퍼티를 정의하는 등의 작업을 수행할 수 있습니다. 블루프린트에 추가하는 비주얼과 기능은 게임에 있는 해당 블루프린트의 모든 인스턴스에 적용됩니다.
BP_JumpPad를 살펴보겠습니다. 창 상단에서 뷰포트(Viewport), 이벤트 그래프(Event Graph), 컨스트럭션 스크립트(Construction Script) 등 세 가지 탭을 볼 수 있습니다.
컴포넌트로 레벨 오브젝트 빌드하기
뷰포트 탭을 클릭합니다. 메인 레벨 에디터에서 뷰포트를 사용하는 것과 비슷하게, 블루프린트에서도 뷰포트를 사용하여 블루프린트를 보거나 편집할 수 있습니다.
이 탭에서는 플랫폼, 라이트, 파티클 이펙트 등 점프 패드의 시각적 표현을 볼 수 있습니다.
창 왼쪽에서는 블루프린트의 컴포넌트, 즉 블루프린트가 무엇으로 구성되었는지, 레벨에 무엇이 표시되는지를 정의하는 부분도 볼 수 있습니다. 컴포넌트 패널을 사용하면 블루프린트의 컴포넌트를 추가, 제거 및 정리할 수 있습니다.
컴포넌트를 사용하여 블루프린트에 추가할 수 있는 구성 요소는 다음과 같습니다.
캡슐 콜리전, 박스 콜리전 또는 스피어 콜리전 컴포넌트가 있는 콜리전 지오메트리
스태틱 메시 컴포넌트 또는 스켈레탈 메시 컴포넌트 형식의 렌더링된 지오메트리
무브먼트 컴포넌트를 갖춘 무브먼트 컨트롤
컴포넌트만 포함하고 스크립팅된 비헤이비어는 없는 블루프린트를 만들어서 한 곳에서 편집할 수 있는 재사용 가능한 레벨 오브젝트처럼 활용할 수도 있습니다.
이벤트 그래프에서 블루프린트의 컴포넌트 또는 해당 프로퍼티를 레퍼런스하여 런타임 동안 해당 컴포넌트에 대한 액션을 수행할 수도 있습니다.
BP_JumpPad의 컴포넌트를 자세히 살펴보겠습니다.
BP_JumpPad에는 포인트 라이트(Point Light) 컴포넌트가 있습니다. 컴포넌트(Components) 목록 또는 뷰포트에서 포인트 라이트(Point Light) 오브젝트를 클릭합니다. 트랜스폼(Transform) 툴을 사용하여 이 라이트 소스를 이동하고 회전할 수 있습니다.
블루프린트 에디터의 오른쪽에는 선택된 컴포넌트 관련 프로퍼티가 나열된 디테일(Details) 패널이 있습니다. 이 라이트 소스의 강도(Intensity), 라이트 컬러(Light Color) 등을 편집할 수 있습니다.
블루프린트 기능 제작
뷰포트 탭 옆에 이벤트 그래프 탭과 컨스트럭션 스크립트 탭이 있습니다. 블루프린트에서 함수를 생성하면 해당 함수 그래프에 대한 탭도 여기에 표시됩니다.
그래프에는 블루프린트의 디자인 시간 및 게임 시간 비헤이비어와 기능이 포함됩니다. 여기에서 블루프린트 컴포넌트의 동작 방식을 알려주는 로직을 생성합니다.
로직은 블루프린트의 노드와 연결을 가리킵니다.
컨스트럭션 스크립트
블루프린트 액터가 레벨 에디터 뷰포트 또는 게임플레이에서 레벨에 스폰되면 언리얼 엔진은 먼저 컴포넌트를 빌드한 다음 컨스트럭션 스크립트(Construction Script)를 실행합니다. 액터 프로퍼티를 변환하거나 변경할 때도 에디터에서 실행되므로 뷰포트에서 결과를 바로 볼 수 있습니다. 이는 블루프린트 액터가 게임플레이를 위해 구성되도록 초기화 액션을 수행하는 데 사용됩니다. 이러한 초기화 액션은 컨텍스트에 따라 다를 수 있습니다. 예를 들어 오브젝트가 배치된 지면 타입에 따라 오브젝트에 다른 머티리얼을 적용할 수 있습니다.
BP_JumpPad의 컨스트럭션 스크립트 탭을 클릭하면 레벨에 처음 나타날 때, 즉 스폰될 때 일련의 액션을 실행하여 점프 패드의 컬러 및 기타 프로퍼티를 구성하는 Construction Script 노드가 표시됩니다.
블루프린트 그래프 탐색:
패닝: 우클릭하고 드래그합니다.
줌: 마우스 휠을 사용합니다.
선택 프레임 지정: F를 눌러 선택된 노드를 중앙에 배치합니다.
모두 맞춤: A를 눌러 전체 그래프를 봅니다.
다음으로 이동: 함수 또는 이벤트 노드를 더블클릭하여 그래프나 그래프 탭에서 찾을 수 있습니다.
이벤트 그래프
블루프린트의 이벤트 그래프(Event Graph)에는 이벤트와 함수 호출을 사용하여 게임플레이 이벤트에 반응하는 동작을 수행하는 노드 그래프가 포함되어 있습니다. 이곳에서 인터랙션과 동적 반응이 구성됩니다. 예를 들어 라이트 블루프린트는 라이트 컴포넌트를 끄고 머티리얼을 변경하는 식으로 대미지 이벤트에 반응할 수 있습니다.
이벤트 그래프의 모든 로직은 플레이어 입력 반응, 애니메이션 트리거, 사운드 재생 등 게임플레이 동안 발생하는 이벤트에 대한 반응이라고 할 수 있습니다. '이런 일이 발생할 때 저런 일을 하고 싶다'면 이벤트로 시작해야 합니다.
블루프린트는 여러 개의 이벤트 그래프를 포함할 수 있으며, 이러한 그래프는 모두 동일한 블루프린트의 일부로 실행됩니다. 여러 이벤트 그래프는 로직을 별도의 섹션으로 구성하는 용도로만 사용되며, 블루프린트의 동작 방식에는 영향을 미치지 않습니다.
BP_JumpPad 이벤트 그래프 탭에는 게임 내에서 플레이어가 점프 패드 위를 걸을 때처럼 액터가 이 블루프린트와 오버랩될 때 실행되는 노드 시퀀스가 표시됩니다. 이 이벤트가 발생하면 블루프린트는 해당 액터가 일반적인 상황보다 더 높은 속도로 점프 동작을 수행하게 합니다.
그래프에서 특정 노드를 찾으려면 그래프 뷰에서 Ctrl+F 단축키를 사용하여 노드를 검색합니다. 예를 들어 Event ActorBeginOverlap 노드를 보려면 Ctrl+F 단축키를 사용하고 검색 필드에 Event ActorBeginOverlap을 입력합니다. 결과를 선택하여 뷰를 해당 노드로 패닝합니다.
액션을 실행할 수 있는 노드에는 흰색 삼각형으로 표시되는 실행 핀이 있습니다. 노드의 실행 핀이 다른 노드에 연결되지 않은 경우에는 삼각형 흰색 외곽선으로 표시됩니다.
해당 이벤트 노드에는 입력 실행 핀이 없는 것을 알 수 있습니다. 이벤트 노드는 정의된 이벤트가 게임 월드에서 트리거되는 즉시 실행되기 때문입니다. 이 예시에서는 액터가 게임 내에서 BP_JumpPad의 액터와 오버랩될 때 이 이벤트가 트리거됩니다.
노드에는 데이터 핀도 있을 수 있습니다. 예를 들어 Event ActorBeginOverlap에는 Other Actor 핀이 있는데, 이는 BP_JumpPad 레벨 오브젝트와 오버랩된 레벨 오브젝트(액터)에 대한 레퍼런스입니다. 데이터 핀은 노드 간에 값을 전달하고 실행 핀은 노드가 실행되는 순서를 제어합니다.
Event ActorBeginOverlap 노드의 실행 핀이 Cast To Character 노드에 연결되어 있습니다. 즉, 플레이어 같은 월드 내 액터가 점프 패드 액터와 오버랩되면 이 블루프린트는 Cast To Character 노드를 실행합니다.
노드 간 연결은 보통 와이어라고 합니다.
Event ActorBeginOverlap 노드의 실행 핀을 Cast To Character 노드에서 연결을 해제하고 기타 액터(Other Actor) 핀은 연결된 상태로 두면 실행 핀이 연결되어 있지 않으므로 아무것도 발생하지 않습니다. 즉, Event 노드가 Cast To Character 노드를 트리거하지 않습니다.
연결이나 와이어를 제거하려면 Alt를 누른 채 와이어를 클릭하면 됩니다. 한 핀에서 다른 핀으로 드래그하여 와이어를 연결합니다.
와이어를 경유하게 하려면 와이어를 더블클릭하여 경유 노드를 생성하면 됩니다. 경유 노드 위에 마우스를 올리면 커서가 네 개의 화살표로 바뀌는데, 이때 경유 노드를 드래그하여 옮깁니다.
이벤트 그래프에서 노드 액션으로 작업하는 방법에 대한 자세한 내용은 노드 배치하 및 노드 연결하기를 참고하세요.
변수
변수는 다음 중 하나를 수행하는 프로퍼티입니다.
거리 측정치 또는 캐릭터가 이동할 수 있는 속도 등의 값을 저장합니다.
액터가 사용하는 스태틱 메시 등 월드 내의 뭔가를 레퍼런스합니다.
변수를 블루프린트에서만 액세스할 수 있도록 구성하거나, 디자이너가 레벨에 배치된 블루프린트 인스턴스를 손쉽게 커스터마이징할 수 있게 레벨 에디터에서 편집할 수 있도록 구성할 수 있습니다.
BP_JumpPad의 이벤트 그래프 탭에서 블루프린트 에디터 왼쪽에 있는 내 블루프린트(My Blueprint) 패널을 잠깐 살펴보겠습니다.
변수(Variables) 섹션에서 Velocity와 Color Target이라는 두 변수를 확인할 수 있습니다.
Velocity 변수를 클릭하여 선택합니다. 디테일 패널에는 이 변수와 관련된 다양한 프로퍼티가 있습니다. 목록의 맨 아래에는 디폴트 값(Default Value) 카테고리가 있으며, 여기에서 Velocity 변수의 값을 설정할 수 있습니다.
이 경우 Velocity는 0, 0, 800으로 설정됩니다. 이는 플레이어에 적용되는 속도가 Z축 방향, 즉 위쪽 방향으로 800유닛임을 뜻합니다.
따라서 점프 패드의 기능은 플레이어가 이 점프 패드를 밟았을 때 위쪽으로 초속 800cm로 이동시키는 것입니다.
점프 패드의 변수를 살펴보면 변수 옆에 뜬 눈 모양 아이콘이 있습니다. 이는 퍼블릭 및 편집 가능한 변수임을 의미하며, 퍼블릭 변수는 레벨 내에 있는 해당 블루프린트의 모든 인스턴스에서 편집할 수 있습니다.
블루프린트를 열고 편집할 필요 없이 레벨 에디터에서 인스턴스별로 편집 가능한 변수의 디폴트 값을 오버라이드할 수 있습니다.
블루프린트 외부에서 변수를 편집하는 방법의 예시를 보려면 다음 단계를 따릅니다.
언리얼 에디터 왼쪽 상단 근처에 있는 레벨 탭을 클릭하여 레벨 에디터로 돌아갑니다.
콘텐츠 브라우저를 열고 JumpPad 폴더에서
BP_JumpPad에셋을 레벨의 지면으로 드래그합니다. 해당 에셋이 선택되어 있는지 확인합니다.디테일 패널에서 디폴트(Default)라는 이름의 카테고리를 찾습니다. 이 카테고리 아래에서 앞에서 본 두 변수인 Velocity와 Color Target을 확인할 수 있습니다. 이 두 변수가 여기에 표시되는 이유는 블루프린트에서 편집 가능하도록 구성(눈 모양 아이콘이 떠져 있음)되어 있기 때문입니다.
BP_JumpPad탭으로 돌아갑니다. 내 블루프린트 > 변수 섹션에서 Velocity 변수의 눈 모양 아이콘을 클릭하여 퍼블릭이 아닌 변수로 바꿔 편집할 수 없게 만듭니다. 뜬 눈 모양이 감은 눈 모양으로 바뀝니다.변경사항을 적용하려면 블루프린트 에디터 왼쪽 상단에 있는 컴파일(Compile) 버튼을 클릭합니다.
컴파일하면 블루프린트에서 오류를 확인하고 업데이트하여 최신 변경사항이 레벨에서 작동하도록 합니다.
레벨 에디터로 돌아가서 BP_JumpPad 액터를 선택하고 디테일 > 디폴트 섹션을 다시 살펴봅니다. 이제 인스턴스가 편집 가능하지 않으므로 Velocity 변수가 보이지 않습니다.
블루프린트를 원래 구성으로 복원하려면 블루프린트 에디터로 돌아가서 Velocity 변수 옆의 눈 모양 아이콘을 다시 클릭합니다.
컴파일하고 저장합니다.
변수가 퍼블릭이고 편집 가능한 경우에는 다른 블루프린트에서도 사용할 수 있습니다. 예를 들어 레벨의 레벨 블루프린트가 점프 패드의 Color Target 변수에 액세스하여 패드의 컬러를 변경할 수 있습니다.
변수 타입, 변수 생성 및 편집, 블루프린트 그래프에서의 변수 레퍼런싱에 대한 자세한 내용은 블루프린트 변수를 참고하세요.
함수
함수는 특정 블루프린트에 속하며, 블루프린트 내 다른 그래프에서 실행 또는 호출할 수 있는 노드 그래프입니다. 함수에는 하나의 엔트리 포인트가 있는데, 실행 출력 핀이 하나 있는 함수 이름으로 된 노드로 표시됩니다. 다른 그래프에서 함수를 호출하면 함수 엔트리 노드부터 함수의 로직이 실행됩니다.
블루프린트 클래스를 빌드할 때 이벤트 그래프의 로직 일부를 여러 위치에서 재사용하거나 다른 블루프린트에서도 재사용하는 것이 좋습니다. 여러 곳에서 동일한 로직을 리빌드하는 대신, 노드를 추가하는 함수를 생성한 다음 원하는 블루프린트에서 해당 함수를 호출할 수 있습니다.
다른 블루프린트에 있는 함수를 호출할 때, 함수는 여전히 생성된 블루프린트에서 실행됩니다. 호출을 통해 외부에서 해당 함수에 액세스할 수 있습니다.
예를 들어 플레이어 캐릭터 블루프린트에서 필요한 키를 가져와 플레이어의 인벤토리와 비교한 다음 true 또는 false를 반환하는 HasKey 함수를 생성할 수 있습니다. 그러면 다른 블루프린트(문, 상자, NPC 캐릭터)가 모두 해당 함수를 호출하여 플레이어가 특정 키를 가지고 있는지 확인한 후 다른 비헤이비어를 수행할 수 있습니다. 이러한 서로 다른 레벨 오브젝트는 플레이어 캐릭터의 HasKey 함수에 있는 로직을 각 블루프린트에서 다시 생성할 필요 없이 재사용할 수 있습니다.
그래프에서 동일한 노드 세트를 두 번 이상 사용하는 경우에는 함수 또는 매크로로 만들어 재사용하는 것을 고려해 볼 수 있습니다.
자세한 내용은 함수를 참고하세요.
블루프린트 로직에 코멘트 추가하기
블루프린트에 코멘트를 추가하여 노드를 그룹화하고 블루프린트의 각 부분이 수행하는 역할을 설명하는 비주얼 전용 노트를 생성할 수 있습니다. 코멘트를 입력해 두면 사용자와 사용자의 팀원들이 노드가 어떤 기능을 수행하는지 한눈에 파악하고 블루프린트를 정리된 상태로 유지하는 데 도움이 됩니다.
블루프린트 로직을 만들 때는 먼저 기능을 만드는 데 집중한 다음, 추가한 노드를 하이라이트하여 이를 포괄적으로 설명할 수 있는 코멘트를 추가하는 것이 좋습니다.
블루프린트에서 코멘트를 추가하려면 다음 단계를 따릅니다.
그래프를 클릭하여 활성 패널인지 확인합니다.
키보드에서 C를 누릅니다. 이렇게 하면 코멘트 박스가 추가됩니다.
박스 상단의 텍스트 필드를 더블클릭하여 코멘트를 입력합니다.
코멘트 크기를 조정하려면 코멘트가 선택되어 있는지(노란색 외곽선으로 하이라이트됨) 확인하고 가장자리나 모서리를 드래그합니다.
코멘트 내에서 노트를 그룹화하려면 해당 노드를 코멘트 바운드 안으로 드래그합니다.
하나 또는 여러 개의 노드를 선택하고 C를 눌러 선택한 노드를 포함하는 코멘트를 추가할 수도 있습니다.
그래프의 여러 영역을 한 눈에 알아볼 수 있도록 코멘트 컬러를 변경할 수도 있습니다.
블루프린트 계속 살펴보기
이제 기초 사항을 배웠으므로 아래 주제 또는 튜토리얼을 살펴보면서 블루프린트에 대해 계속 학습할 수 있습니다.