블루프린트란 언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템이다.
프로그래밍 언어 없이도 여러 노드들을 서로 연결하고 관계를 정의함으로써 게임 플레이를 프로그래밍할 수 있다.
레벨에디터 화면에서 블루프린트 버튼을 클릭하여 블루프린트 창을 열 수 있다.
블루프린트는 이러한 '노드' 들로 이루어져 있고 각 노드의 왼쪽, 오른쪽 편에는 'pin' 이라는 부분이 있다. 이 부분을 서로 연결함으로써 노드들 간의 실행 순서나 관계를 정의할 수 있다.
Event BeginPlay
: 게임이 시작될 때 트리거되는 노드이다. 시작될 때 발생해야 하는 이벤트들을 뒤에 이어붙여서 게임이 시작될 때 작동되게끔 할 수 있다.Event Tick
: 게임의 각 틱마다 트리거되는 노드이다. 'print text' 노드를 이용해 간단한 출력을 할 수 있다.
다음과 같이 연결하고 실행하면 게임 시작 시 'Hello' 라는 문구가 출력된다.
C언어를 비롯한 다른 프로그래밍 언어들과 마찬가지로 변수를 선언하여 사용할 수 있다.
다양한 타입의 변수들을 선언하여 사용할 수 있다.
변수 값을 '지정' 할 수 있고, 변수 값을 '사용' 할 수도 있다.
x = 10
과 같이 특정한 값을 변수에 할당하는 것이다. 변수를 노드 공간에 Alt를 누른 채 드래그 드롭하거나 그냥 드래그 후 Set
을 선택하게 되면 그 변수에 값을 지정할 수 있다.y = x
과 같이 특정한 값에다가 변수 값을 사용하는 것이다. 변수를 노드 공간에 Ctrl을 누른 채 드래그 드롭하거나, 그냥 드래그 후 Get
을 선택하게 되면 그 변수 값을 사용할 수 있다.변수 핀을 다른 핀에 연결함으로써 변수를 사용할 수 있다.
'format text' 노드를 이용해 마치 C언어의 %d
처럼 변수를 삽입할 수 있다.
중괄호 {}
안에 어떤 값을 넣으면 자동으로 핀이 생성된다.
그리고 위와 같이 내가 만든 변수를 집어넣어 사용할 수 있다.
따라서 이 로직은 게임이 시작되면 유저 이름을 출력해 주는 로직이라고 할 수 있다.
여러 노드들을 선택한 후 C
를 눌러 주석을 생성할 수 있다. 기능별로 묶어두면 편리할 것이다.