언리얼 엔진/개념 정리

개념 정리 - 블루프린트(1)

journey46110 2026. 6. 14. 02:36

I. Hello World

① Print Text 노드 추가

- 레벨 블루프린트에서 우클릭 → Print Text 선택

 

② Event BeginPlay와 연결

- Event BeginPlay의 실행 핀을 Print Text에 연결

- 게임 시작 시 지정한 텍스트를 화면에 출력

Print Text

 

③ 출력 시간 설정

- Print Text 노드의 Duration 값 조절

- 값이 클수록 메시지가 더 오래 표시됨

Duration

Duration = 화면에 표시되는 시간(초)

 

④ 플레이 테스트

- 에디터에서 Play 실행

- 화면 좌측 상단에 텍스트 출력 확인

결과

 

☆ Event란?

- 블루프린트에서 특정 시점에 자동으로 실행되는 시작점(Trigger)

 

☆ Event BeginPlay

- 게임이 시작될 때 한 번만 실행

 

☆ Event Tick

- 게임이 실행되는 동안 매 프레임마다 반복 실행

 

 

II. 블루프린트 변수

1) 변수(Variable)

① 변수의 정의

- 데이터를 저장하고 관리하기 위한 공간

- 게임 내 상태를 저장하거나 로직의 조건을 결정할 때 사용

- 변수는 이름(Name)과 타입(Type)을 지정해야 함

 

② 변수 생성

- 블루프린트 좌측 변수 패널에서 생성

- F2를 눌러 이름 변경 가능

- 컴파일 후 사용(값 입력) 가능

다양한 타입의 변수 생성 가능

 

③ 변수 네이밍 규칙

- 일반적으로 단어의 첫 글자를 대문자로 작성

- Boolean 변수는 앞에 b를 붙이는 경우가 많음

 

④ 대표적인 변수 타입

타입 설명 예시
부울 (Boolean) 참(True) / 거짓(False)만 저장 문이 열렸는가?
바이트 (Byte) 0~255의 작은 정수 (8비트) 상태 번호
인터저 (Integer) 정수 저장 (32비트) HP = 100
인터저64 (Integer64) 매우 큰 정수 저장 (64비트) 대규모 점수
플로트 (Float) 소수점 저장 이동속도 = 600.0
네임 (Name) 식별용 문자열 Player, Enemy
스트링 (String) 일반 문자열 "Hello World"
텍스트 (Text) 화면 출력용 문자열 UI 문구
벡터 (Vector) X,Y,Z 좌표 저장 (100, 50, 200)
로테이터 (Rotator) 회전값 저장 Pitch, Yaw, Roll
트랜스폼 (Transform) 위치+회전+크기 한 번에 저장 액터의 전체 변환

 

2) Get/Set 노드

① 변수 생성

- Integar 타입의 변수 생성

- 블루프린트 그래프로 드래그

- Get/Set 노드 선택 가능

Get/Set 선택 창

 

② Set 노드

- 변수에 값을 저장하는 노드

- 입력한 값이 변수에 저장됨

- Alt +드래그로 Set 노드를 바로 생성 가능

 

③ Get 노드

- 변수에 저장된 값을 가져오는 노드

- 값을 읽기만 하며 변경하지는 않음

- Ctrl + 드래그로 Get 노드를 바로 생성 가능

 

④ 변수 값 출력

- 플레이 시 변수 값을 설정하고 출력

플레이 시 변수 값을 설정하고 출력하는 블루프린트

 

- Print Text에 Get 노드 연결 시 자동으로 To Text 노드 생성

- Integer 값을 Text 타입으로 변환하여 출력 (형변환)

 

⑤ 변수로 변수 초기화

- 새 변수 생성 → 기본값 설정

새 변수 MaxHP에 기본값 100 설정

 

순서

BeginPlay

Get MaxHP == (int MaxHP = 100)

Set HP == (HP= MaxHP)

Get HP

Print Text == (text 형변환된 HP 출력)

 

결과 100 출력

 

 

III. 블루프린트 사칙연산

연산 노드 생성

① 사칙연산 노드 추가

- 레벨 블루프린트에서 우클릭

- +(add), -(subtract), *(multiply), /(divide) 검색하여 연산 노드 생성

유틸리티 - 연산자

 

② 연산 노드 구성

- 연산 노드는 두 개 이상의 입력값을 받을 수 있음

- 입력 핀 우클릭 → 입력 개수 추가 가능

- 입력 핀 우클릭 → 변수 타입 변경 가능

입력 핀 우클릭

 

③ 변수와 연산 노드 활용

- 캐릭터가 공격을 받는다고 가정

- damage를 표현할 변수 새로 생성

Damage = 10

 

- (HP - Damage)를 뺄셈 노드와 연결해서 출력

HP - Damage 출력
결과 90 출력

 

순서

BeginPlay

Get MaxHP == (int MaxHP = 100)

Set HP == (int HP= MaxHP)

Get Damage == (int Damage = 10)

HP = HP - Damage

Print Text == (text 형변환된 HP 출력)

 

④ 0으로 나눌 경우

일반 수학 → 10 / 0 = 정의되지 않음

 

블루프린트 → 10 / 0 = 0

- 에러가 발생하지 않을 수 있음

- 예상하지 못한 결과가 나올 수 있으므로 주의 필요

 

⑤ 나눗셈 주의사항

Integer → 5 / 2  연산할 때 소수점을 버림 → 결과 2

Float → 5 / 2 연산할 때 소수점까지 계산 → 결과 2.5

 

 

IV. 블루프린트 비교 연산과 논리 연산

1) 비교 연산

- 두 값을 비교하여 Boolean(True 또는 False) 결과를 반환하는 연산

- 조건문(Branch)의 판단 기준으로 사용됨

 

주요 비교 연산자

연산자 의미 예시
== 같다 HP == 100
!= 같지 않다 HP != 0
> 크다 HP > 50
< 작다 HP < 50
>= 크거나 같다 HP >= 100
<= 작거나 같다 HP <= 0

비교 연산 노드

 

 

2) 논리 연산

- 여러 조건을 조합하거나 반전하여 하나의 결과를 만드는 연산

- 복잡한 조건을 표현할 때 사용

 

AND

- 모든 조건이 참일 때만 True

A AND B
A B 결과
True True True
True False False
False True False
False False False

 

② OR

- 둘 중 하나라도 참이면 True

A OR B
A B 결과
True True True
True False True
False True True
False False False

 

③ NOT

- 결과를 반전

NOT A
A 결과
True False
False True

 

④ XOR

- 두 조건 중 하나만 참일 때 True

A XOR B
A B 결과
True True False
True False True
False True True
False False False

 

논리 연산 노드