블루프린트 변수

월드의 오브젝트나 액터에 대한 값 또는 레퍼런스를 담는 프로퍼티입니다.

Windows
MacOS
Linux

Variable (변수)는 월드에 있는 Object 나 Actor 에 대한 값이나 주소(reference)를 담는 프로퍼티입니다. 이 프로퍼티는 내부적으로는 그를 담고있는 Blueprint 에서 접근 가능하며, 외부적으로 접근 가능하게 하여 레벨에 놓은 Blueprint 인스턴스 작업을 하는 디자이너가 그 값을 변경하도록 할 수도 있습니다.

Variable (변수)는 변수 이름이 들어간 둥근 박스로 표시됩니다:

Variable Nodes

마티네를 사용해서 특정 유형 변수값을 변경하는 법에 대한 정보는, 마티네로 블루프린트 프로퍼티 변경하기 문서를 참고하세요.

변수 유형

변수는 다양한 유형으로 생성 가능한데, Boolean (True / False), Integer (정수), Float (실수) 와 같은 데이터 형은 물론이고 Object, Actor, 특정 Class 와 같은 것을 담는 레퍼런스 형도 생성 가능합니다. 각 변수형을 배열 로도 만들 수 있으며, 각 유형은 색을 통해 쉽게 알아볼 수 있습니다:

변수 유형

예제

용도

Boolean

빨강

RedWire.png

빨강 변수는 부울 (True / False) 데이터를 나타냅니다.

Integer

청록

CyanWire.png

청록 변수는 0, 152, -226 와 같은 정수 데이터, 또는 소수점이 없는 숫자를 나타냅니다.

Float

초록

GreenWire.png

초록 변수는 0.0553, 101.2887, -78.322 와 같은 실수 데이터, 또는 소수점이 있는 숫자를 나타냅니다.

String

자홍

MagentaWire.png

자홍 변수는 Hello World 와 같은 문자열 데이터, 또는 알파벳과 숫자로 된 글자 그룹을 나타냅니다.

Text

분홍

PinkWire.png

분홍 변수는 표시되는 텍스트, 특히나 현지화가 가능한 텍스트를 나타냅니다.

Vector

금색

GoldWire.png

금색 변수는 벡터 데이터, 또는 XYZ 나 RGB 처럼 세 개의 실수로 구성되는 요소나 축 정보를 나타냅니다.

Rotator

보라

PurpleWire.png

보라 변수는 3D 공간에서의 회전을 수치로 정의하는 그룹인 로테이터 데이터를 나타냅니다.

Transform

주황

OrangeWire.png

주황 변수는 트랜슬레이션 (3D 위치), 로테이션, 스케일로 구성되는 트랜스폼 데이터를 나타냅니다.

Object

파랑

BlueWire.png

파랑 변수는 오브젝트, 즉 라이트, 액터, 스태틱 메시, 카메라, 사운드 큐 등을 나타냅니다.

내 블루프린트 탭의 변수

내 블루프린트 탭을 통해 커스텀 변수를 블루프린트 에 추가할 수도 있고, 컴포넌트 리스트 에 추가된 컴포넌트 인스턴스 변수라던가 그래프에서 값을 변수로 승격시켜 만든 변수를 포함해서 기존 변수를 나열할 수도 있습니다.

My BLueprint Pane

변수 만들기

블루프린트 안에 변수를 만드는 방법은 다음과 같습니다.

  1. 블루프린트를 생성 한 뒤 그래프 탭에서 엽니다.

  2. 내 블루프린트 창에서 myblueprint_variable.png 변수 목록 제목줄의 plus_Button.png 추가 버튼 을 클릭하여 새 변수를 생성합니다.

    MyBlueprintPane_createVar.png

  3. 새 변수가 생성되어, 이름을 입력할 수 있습니다.

    HT5.png

    블루프린트에 이름을 입력한 다음, 디테일 패널로 넘어가 변수의 프로퍼티를 조절합니다.

  4. 디테일 패널에 보면 변수의 사용 및 접근법을 정의하는 데 사용되는 여러가지 세팅이 있습니다.

    HT6.png

    변수의 Default Value (기본값) 설정을 위해서는 먼저 블루프린트를 컴파일 해야 합니다.

옵션

설명

Variable Name

변수 이름 - 변수의 이름입니다.

Variable Type

변수 유형 - 드롭다운 메뉴를 통해 변수 유형 을 설정하고, 변수가 배열 인지를 알아냅니다.

Editable

편집가능 - 블루프린트 인스턴스에서 변수를 공개적으로 편집할 수 있는지 입니다.

Tooltip

툴팁 - 이 변수에 대한 추가 정보로, 변수 위에 커서가 있을 때 표시됩니다.

Expose on Spawn

스폰시 노출 - 블루프린트 스폰시 변수를 핀으로 노출시킬지 입니다.

Private

프라이빗 - 변수를 프라이빗 (파생 변수에서 변경할 수 없도록) 설정할지 입니다.

Expose to Matinee

마티네에 노출 - 변수를 마티네 에 노출시켜 변경하도록 할지 입니다.

Config Variable

환경설정 변수 - 컨픽 파일에서 변수 설정을 가능하도록 합니다.

Category

카테고리 - 변수를 주어진 라벨별로 카테고리를 분류시킬 수 있습니다. 변수는 라벨별로 정렬됩니다.

Replication

리플리케이션 - 이 변수의 네트워크를 통한 리플리케이트 여부입니다.

디테일 패널을 확장시키면 추가적인 serialization 옵션도 정의할 수 있습니다.

HT37.png

여기서는 변수를 serialize 시킬지, Transient (휘발성) 옵션으로 로드시 0 으로 채울지를 설정할 수 있습니다. SaveGame 옵션으로 변수를 게임 저장을 위해 serialize 시킬지를 설정할 수도 있습니다.

편집가능 변수

변수가 Editable, 편집가능으로 설정되면, 변수가 들어있는 블루프린트 외부에서 그 변수를 수정할 수 있게 됩니다.

HT21.png

변수에 편집가능 설정은 디테일 패널에서 편집가능 옵션을 체크하거나, 내 블루프린트 창 안의 변수 옆 감긴 눈 모양 아이콘을 클릭하면 됩니다. 눈 아이콘이 감겨 있으면, 변수는 현재 편집 가능한 상태가 아닙니다 (기본). 눈 아이콘이 열려 있으면, 변수가 퍼블릭 (또는 아래와 같이 편집가능) 설정되어 있는 것입니다.

변수가 편집가능 설정되면, 메인 에디터 창의 디테일 패널에서 변수의 값을 설정할 수 있습니다.

HT23.png

위에서, LightColor 변수가 편집가능 설정되어 이 값을 레벨 에디터의 디테일 패널에서 설정할 수 있습니다.

변수 툴팁

에디터에서 변수에 마우스 커서를 올렸을 때 나타나는 변수에 대한 Tooltip, 툴팁을 추가할 수도 있습니다.

HT25.png

변수의 디테일 패널에서 툴팁 을 추가하면 됩니다. 그 때 변수가 퍼블릭 으로 설정된 경우, 눈 아이콘의 색이 노랑에서 초록으로 바뀌어 변수에 툴팁이 작성되었음을 나타냅니다.

HT24.png

스폰시 노출

Expose on Spawn, 스폰시 노출 옵션은 변수가 들어있는 블루프린트 스폰 시점에서 그 변수를 접근 가능하도록 할 것인지 설정할 수 있습니다.

HT26.png

위에서 LightColor 라는 변수가 있는데, 스폰시 노출 설정되어 있는 Linear Color 프로퍼티입니다. 이 변수는 포인트 라이트에 대한 블루프린트에 구현되어 있으며, Set Light Color 노드와 LightColor 변수를 사용하여 라이트의 색을 결정하고 있습니다.

아래 다른 블루프린트 내에서, 스크립트를 사용하여 포인트 라이트 블루프린트를 스폰하고 LightColor 변수가 스폰시 노출 설정되어 있기 때문에, Spawn Actor from Class 노드에 값 설정을 위한 옵션이 사용가능해져, 게임 월드에 라이트가 스폰되면 그 색을 설정할 수 있게 됩니다.

HT27.png

프라이빗 변수

변수에 Private, 프라이빗 옵션이 체크되면, 외부 블루프린트에서 변수를 수정하는 것이 금지됩니다.

예를 들어 아래 프라이빗으로 설정되지 않은 변수가 있습니다:

HT42.png

다른 변수에서, 그 변수가 들어있는 블루프린트를 스폰한 다음, Return Value 를 통해 변수에 접근할 수 있습니다.

HT43.png

하지만 프라이빗으로 설정하고:

HT41.png

블루프린트를 다시 스폰한 뒤 그 변수 접근을 시도해 보면, 안됩니다.

HT44.png

마티네에 노출

변수가 마티네 에 영향받을 수 있도록 하려면, Expose to Matinee, 마티네에 노출 옵션을 체크해야 합니다.

HT31.png

아래에서, 마티네를 만들어 블루프린트가 들어있는 트랙을 추가했습니다. 그런 다음 마티네를 통해 그 블루프린트의 Linear Color 변수를 변경하려면, LinearColor Property Track 을 추가합니다.

HT32.png

그러면 Linear Color 변수 선택을 위한 창이 뜨는데, 블루프린트에서 변경할 (LightColor) 프로퍼티를 선택합니다.

HT33.png

그 이후 트랙에 키를 추가하여 변수 값을 시간에 따라 변경할 수 있습니다.

HT34.png

마티네 작업 관련 상세 정보는 마티네 & 시네마틱 문서를 참고하세요.

변수로 승격

Promote to Variable, 변수로 승격 옵션을 사용해서도 변수를 만들 수 있습니다.

블루프린트 노드의 아무 입력 또는 출력 데이터 핀에 우클릭 한 다음 변수로 승격 옵션을 선택하면 됩니다.

HT38.png

New Light Color 핀에 우클릭 한 다음 변수로 승격 을 선택하는 것으로, 변수에 New Light Color 값을 할당할 수 있습니다.

HT40.png

다른 방법으로는, 입력 또는 출력 핀을 끌어놓은 다음 변수로 승격 옵션을 선택합니다.

HT39.png

블루프린트의 변수 접근하기

블루프린트의 변수 작업을 할 때, 보통 두 가지 방법 중 하나로 접근하게 됩니다. 변수 값을 구해오는 Get 노드 또는 변수 값을 설정하는 Set 노드입니다.

HT45.png

변수에 대한 Set (위에서 1) 또는 Get (위에서 2) 노드 생성은 그래프에 우클릭 한 다음 Set (변수 이름) 또는 Get (변수 이름) 을 선택하면 됩니다. 또다른 방법은, Ctrl 키를 누른 채 내 블루프린트 창에서 변수를 끌어 놓으면 Get 노드가 생성되고, Alt 키를 누른 채 끌어 놓으면 Set 노드가 생성됩니다.

변수 편집하기

변수 값의 설정은 블루프린트 노드 네트워크의 일부에서도 실행 전 기본값으로도 가능합니다. 변수 기본값을 설정하려면:

  1. 블루프린트 툴바에 있는 클래스 디폴트 버튼을 클릭하여 디테일 패널에 디폴트를 엽니다.

  2. 디테일 패널에서 변수 이름 오른쪽에 원하는 기본값을 입력합니다.

    blueprint_details_variable_callout.png

    위에서 Color 변수를 선택하여 기본 색을 설정할 수 있습니다.

디폴트 창에 변수가 보이지 않는 경우, 컴파일 버튼을 클릭하세요.

변수 이름변경

변수 이름을 변경하려면:

  1. 내 블루프린트 탭에서 변수 이름에 우클릭하면 뜨는 메뉴에서 이름변경 을 선택합니다.

    rename_variable_menu.png

  2. 글상자에 새로운 변수 이름을 입력한 다음 Enter 키를 눌러 저장합니다.

    rename_variable.png

변수 프로퍼티

디테일 패널에서 변수에 대한 모든 프로퍼티를 설정할 수 있습니다. 몇몇 변수는 여기 보이는 것보다 많은 프로퍼티가 있습니다. 이를테면 벡터의 경우 Expose to Matinee (마티네에 노출)이라던가, 정수와 실수와 같은 숫자값의 경우 Slider Range (슬라이더 범위) 라던가요.

프로퍼티

설명

Variable Type

변수 유형 - 드롭다운 메뉴에서 변수 유형을 설정한 다음 변수가 배열인지 아닌지를 결정합니다.

Editable

편집가능 - 클래스 디폴트블루프린트디테일 탭에서 변수 값을 편집할 수 있을지 없을지를 설정합니다.

Tooltip

툴팁 - 변수에 대한 툴팁을 설정합니다.

Private

프라이빗 - 이 변수를 프라이빗으로 설정하여 파생된 블루프린트 에서 변경하지 못하도록 할것인지 설정합니다.

Category

카테고리 - 기존 카테고리에서 선택하거나 새 카테고리 이름을 입력합니다. 카테고리를 설정하면 클래스 디폴트, 내 블루프린트 탭, 블루프린트디테일 탭 어디에 변수가 나타나는지가 결정됩니다.

Replication

리플리케이션 - 변수값을 클라이언트에게 리플리케이트시킬지 말지를 선택합니다. 변수가 리플리케이트되면 콜백 함수와 같은 방법으로 알림이 있어야 할 것입니다.

변수 값 구하고 설정하기

변수의 편집은 블루프린트 네트워크에서 Get / Set 노드를 통한 방법으로도 가능합니다. 가장 쉬운 방법은 변수 탭에서 Event Graph 에 바로 변수를 끌어 놓는 것입니다. Get / Set 어느 노드를 만들 것인지 묻는 작은 창이 뜹니다.

VariableGetSet.png

Get 노드

Get 노드는 네트워크에 변수 값을 줍니다. 이 노드는 생성 이후 적합한 유형을 받는 어느 노드에나 연결할 수 있습니다.

GetVariable.png

Set 노드

Set 노드는 변수의 값을 바꿔줍니다. 참고로 실행을 위해서는 실행 선의 호출을 받아야 한다는 점, 유념해 주시기 바랍니다.

SetVariable.png

내 블루프린트 탭에서 끌어놓을 때의 단축키

Ctrl-드래그

Get 노드를 생성합니다.

Alt-드래그

Set 노드를 생성합니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼