Ad Block 한번만 꺼주시면 안될까요..?
게임 개발/Unreal Engine 5

Unreal Engine 5) (Level) 블루프린트 사용 방법.

UniCoti(유니코티) 2024. 1. 24.

이번 글에서는 언리얼 엔진 5의 기초 시스템 중 하나인 블루 프린트 사용 방법에 대해서

정리를 해보도록 하겠다. 먼저, 블루 프린트를 작성할 파일은 얼마든지 만들 수 있으나

이 글 내에서는 Level Blueprint를 기준으로 설명한다. 유니티로 치면 Game Manager 같은 역할이다.


1. 창을 여는 방법. (Level BluePrint)

창을 열기 전, Level Blueprint에 대해서 말하고 싶다. "Level"이란, 유니티의 Scene과 비슷한 개념으로

장면이라고 생각하면 좋다. 예시로는 로비 Level, 게임 Level로 나눠서 작업하는 경우가 있다.

 

아무튼 Level Blueprint는 이렇듯 Level당 하나씩만 존재하는 Blueprint이다.

따라서 그 Level을 전체적으로 관리하는데 매우 적합하다고 생각한다.

 

Open Blueprint 클릭
Open Level Blueprint

 

이렇게 뭔가 나눠지는 모양의 버튼을 눌러주고,

Open Level Blueprint를 클릭해 주자.

 

blueprint 편집
blueprint 편집 화면

 

그럼 이렇게 블루프린트의 노드를 편집할 수 있는 창이 열린다.

 

Event BeginPlay는 시작할 때 1회성으로 실행되며 유니티의 StartAwake와 비슷하다.

Event Tick은 매 프레임 실행되며 유니티의 Update()와 비슷하다.


2. 노드 연결하기

블루프린트를 사용하기 위해서는 각각의 노드를 연결시켜줘야 한다.

여기서 "노드"란 변수나 함수 등 코딩에 사용되는 요소를 말한다.

 

가장 기본적으로 Hello World를 찍어보자.

노드 검색하기
노드 검색

 

빈 공간에 우클릭을 하면 노드를 검색할 수 있다.

문자열을 출력하는 기능을 가진 Print String이나 Print Text 노드를 가져와주자.

 

Event BeginPlay와 연결하기
Event BeginPlay에 연결

 

이후 이렇게 화살표를 잡고 다음 순서로 실행하고픈 노드에 연결해 주면 된다.

 

이렇게 하면 "시작하고 1회" "Hello를 출력"하게 된다.

저 문자의 값을 Hello World로 바꾸면 Hello World가 출력된다.

문자열 바꾸기
문자열 내용 바꾸기

 

저장, 컴파일
저장과 컴파일

 

여기서 컴파일을 해준 후 저장을 눌러줘야 작성한 블루프린트가 실행될 수 있게 변환된다.

(Level이 저장된 상태여야 한다)

 

Hello World가 출력된 화면
출력된 메시지

 

이제 게임을 실행해 보면 이렇게 좌측 상단에 우리가 입력한 문자가 뜨게 된다.

 

https://alpaca-code.tistory.com/160 (hello world 출력, event tick, event begin play 상세)

 

Unreal Engine 5) 최초실행, 반복실행(주기함수), Hello World 출력하기(Blue print)

오늘은 언리얼을 한지 한 10시간 정도 된 듯한데 처음으로 로직에 관하여 공부를 해보았다. 코딩을 이미 해봐서 알다시피, 가장 처음 배우는건 언제나 "Hello World" 출력하기 이다. 이번 글에선 언

alpaca-code.tistory.com


3. 중요한 노드 & 조작법

주석 달기
주석 달기

 

노드를 선택하고 C를 누르면 주석을 남길 수 있다.

다른 사람들에게 로직을 설명할 때 유용하게 사용하라.

 

줄을 끊고 싶다면 Alt를 누른 상태로 줄을 선택하면 된다.

줄을 옮기고 싶다면 Ctrl를 누른 상태로 드래그하면 된다.

 

선 중간에 점을 만들어 내가 원하는 대로 휘게 하고 싶다면 선 중간을 클릭하면 된다.

노드를 여러 개 선택하면 Q를 누르면 높이가 일정하게 정렬된다.

변수 제작. (이름과 타입)
변수 만드는 화면

 

변수는 위의 사진처럼 만들 수 있다. 초기값, 타입, 이름을 설정 가능하다.

변수를 노드의 형태로 가져오고 싶다면 드래그하여 빈 공간에 드롭하면 된다.

 

변수의 Get, Set
Get, Set

 

그럼 이런 창이 하나 나오는데, 변수의 값이 필요하다면 Get,

변수의 값을 바꾸고 싶다면 Set을 눌러주고 연결해 주면 된다.

 

참고로, Ctrl을 누르고 변수를 클릭하면 Get, Alt를 누르고 변수를 클릭하면 Set으로 자동으로 가져와진다.

 

사칙연산이나 부등호가 필요하다면 검색에 그대로 입력해 주면 된다.

(+ - * / > < >= <=)

branch 노드 사진
if문, branch

 

if문은 언리얼에서 "Branch"이다. 아래에 연결한 불리언 값에 따라 True면 위로,

False면 아래로 신호를 보낸다. 검색창에 if로 검색해도 branch 노드가 검색된다.

 

https://alpaca-code.tistory.com/161 (branch 노드, 변수 상세 내용)

 

Unreal Engine 5) if문(Branch), 변수생성 (Blue Print)

저번글에서 분량조절에 실패해서 이번글에서는 간단히 요약해서 필요한 정보만 적고 끝내도록 하겠다. 먼저, if문과 변수는 같이 있어야만 하는 짝과 같다. 하고 싶은 말은 둘 중 하나라도 놓치

alpaca-code.tistory.com

 

증감연산자가 필요한 경우도 검색하면 된다. ++과 -- 모두 있다.


여기까지 블루프린트의 기본적인 조작법과 주요 노드, 쓰는 방법에 대해서 알아보았다.

언리얼 엔진, 어렵지만 블루프린트까지는 나름 해볼 만한 것 같다. 이 글을 읽는 사람 대부분은

초보자일 것이라고 생각하는데, 많은 사람들에게 도움이 되었으면 좋겠다.

 

별로 안 궁금하겠지만 올해 다시 언리얼 엔진을 배우기 시작할 예정이다.

언리얼을 배우다 보면 한국 자료가 별로 없는 걸 느끼는데 내가 채워나가 보도록 하겠다.


이상으로 도움이 되었길 바라며,

 

끝.

댓글

💲 추천 글