I. Hello World
① Print Text 노드 추가
- 레벨 블루프린트에서 우클릭 → Print Text 선택
② Event BeginPlay와 연결
- Event BeginPlay의 실행 핀을 Print Text에 연결
- 게임 시작 시 지정한 텍스트를 화면에 출력

③ 출력 시간 설정
- Print Text 노드의 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 노드 선택 가능

② Set 노드
- 변수에 값을 저장하는 노드
- 입력한 값이 변수에 저장됨
- Alt +드래그로 Set 노드를 바로 생성 가능
③ Get 노드
- 변수에 저장된 값을 가져오는 노드
- 값을 읽기만 하며 변경하지는 않음
- Ctrl + 드래그로 Get 노드를 바로 생성 가능
④ 변수 값 출력
- 플레이 시 변수 값을 설정하고 출력

- Print Text에 Get 노드 연결 시 자동으로 To Text 노드 생성
- Integer 값을 Text 타입으로 변환하여 출력 (형변환)
⑤ 변수로 변수 초기화
- 새 변수 생성 → 기본값 설정

순서
BeginPlay
↓
Get MaxHP == (int MaxHP = 100)
↓
Set HP == (HP= MaxHP)
↓
Get HP
↓
Print Text == (text 형변환된 HP 출력)

III. 블루프린트 사칙연산
연산 노드 생성
① 사칙연산 노드 추가
- 레벨 블루프린트에서 우클릭
- +(add), -(subtract), *(multiply), /(divide) 검색하여 연산 노드 생성

② 연산 노드 구성
- 연산 노드는 두 개 이상의 입력값을 받을 수 있음
- 입력 핀 우클릭 → 입력 개수 추가 가능
- 입력 핀 우클릭 → 변수 타입 변경 가능

③ 변수와 연산 노드 활용
- 캐릭터가 공격을 받는다고 가정
- damage를 표현할 변수 새로 생성

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


순서
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 |

'언리얼 엔진 > 개념 정리' 카테고리의 다른 글
| 개념 정리 - 액터(이동) (0) | 2026.06.15 |
|---|---|
| 개념 정리 - 블루프린트(2) (0) | 2026.06.14 |
| 개념 정리 - 애니메이션 블루프린트 및 블렌드 스페이스 (0) | 2026.06.13 |
| 개념 정리 - 캐릭터 생성 및 이동 설정 (0) | 2026.06.13 |
| 개념 정리 - 액터(Actor) (1) | 2026.06.12 |