티스토리 뷰

언리얼 강의 1- 10. 블루프린트 연산 (1) 

공식문서 : 언리얼 엔진의 블루프린트 변수 | 언리얼 엔진 5.6 문서 | Epic Developer Community

우클릭 → Print Text
Event BeginPlay 노드의 출력(실행 핀)을 “Print Text” 노드와 연결
에디터로 돌아가 플레이(Play) 하면, 게임 화면 좌측 상단에 Hello World가 출력
블루프린트에서 변수는 데이터를 저장하고 관리하는 컨테이너를 의미 변수는 게임 내에서 값을 저장하거나, 오브젝트와의 상호작용을 추적하거나, 로직의 조건을 결정하는 데 사용
여러가지 변수의 타입을 통해 다양한 값을 저장, 사용할 수 있다.
HP라는 인티저 변수를 하나 생성하고, 레벨 프린트 화면에 드래그 & 드롭하면 Get Hp, Set Hp를 클릭할 수 있는 작은 창이 생성된다.
Set Hp를 클릭 > HP 변수의 값을 설정할 수 있는 노드가 생성 > 가운데 숫자를 입력함으로써 해당 변수의 값을 설정
Get Hp를 클릭 > Get은 Set과 다르게 값을 가져오기만 하면 되는 것이라 입력받는 부분이 딱히 없음. 값을 가져와 출력할 이벤트만 지정
Get 노드를 Print Text에 연결하면 중간에 To Text라는 새로운 노드가 생성되는데, 이는 타입 캐스팅을 의미함. 컴파일 및 세이브 후 프로젝트로 돌아가 실행하면 Set 노드에서 설정했던 HP의 값이 출력된다.
MAX HP라는 변수를 새롭게 생성한 후, 기본값을 100으로 설정 > HP의 값을 MAX HP의 값으로 세팅하고 출력 > 100 출력
노드에는 두 개 이상의 입력 핀이 있으며, 우클릭 → 추가로 입력 개수를 늘릴 수 있음. 입력 값의 핀을 우클릭하면, 입력받을 값의 타입을 설정 가능
ㅁㄴㅇㅁㄴㅇ
좌측부터 사칙 연산, 비교 연산, 논리 연산

구분 내용
학습 목표 블루프린트를 사용하여 기초 연산(출력, 변수, 사칙연산, 비교·논리연산)을 구현할 수 있다.
1. 블루프린트 시작하기 - 레벨 블루프린트 창에서 Print Text 노드 생성
- Event BeginPlayPrint Text 연결
- 컴파일 & 플레이 시 화면 좌측 상단에 Hello World 출력
Event 개념 - BeginPlay: 게임 시작 시 1회 실행
- Tick: 매 프레임마다 실행 → “언제 실행되는가”를 결정하는 트리거 역할
2. 블루프린트 변수 - 변수는 데이터를 저장·관리하는 컨테이너
- 블루프린트 좌측 변수 항목에서 추가 및 이름·타입 설정
 💡Boolean 타은 보통 b 접두어 사용 (예: bHasWeapon)
2-1. Get / Set 노드 - Set 노드: 변수 값 설정 (Alt + 드래그)
- Get 노드: 변수 값 가져오기 (Ctrl + 드래그)
- Print Text와 연결 시 To Text 노드(타입 변환) 자동 생성
- 예시 : MAX HP = 100, HP = MAX HP 설정 후 출력하면 100 출력
3. 블루프린트 사칙연산 - 우클릭 → +, -, *, / 노드 생성 가능 - 입력 핀 추가 가능, 입력 타입 변경 가능
- 예시 : MAX HP - DAMAGE(10) → 출력값 90
- 0으로 나누기 : 블루프린트에서는 에러 대신 결과 0 반환
- 정수 나눗셈 : 소수점 이하 버림 → 실수 연산 필요 시 Float 사용
4. 비교 연산자 - ==, !=, <, >, <=, >= 등 - 두 값을 비교해 Boolean(True/False) 반환
5. 논리 연산자 - AND: 양쪽 모두 참일 때 True
- OR: 하나라도 참이면 True
- NOT: 결과 반전
- XOR: 둘 중 하나만 참일 때 True → 주로 Branch(If문)에서 조건 분기에 사용
핵심 개념 요약 - Event: 실행 시점 제어
- Variable: 데이터 저장
- 연산 노드: 사칙·비교·논리 연산 구현
- Print Text: 디버깅용 출력
느낀 점 / 배운 점 - 블루프린트는 시각적 프로그래밍이지만 논리 구조는 코드와 동일함을 이해함.
- 변수를 통해 게임 데이터를 제어하는 방식이 직관적으로 느껴짐.
- 조건 분기와 연산이 실제 게임 로직의 핵심임을 체감함.

에셋 내비게이션 및 간단한 게임 씬 구성

⭐왜 중요한가?⭐

 

- 게임에서 캐릭터가 돌아다닐 수 있는 월드 구성은 몰입도를 결정짓는 중요한 요소이다.

- 자신만의 공간을 꾸미고, 에셋 간 배치와 충돌 처리를 직접 조절해보는 경험은 3D 게임 제작의 핵심 감각을 키워준다.

구분 내용
학습 목표 캐릭터가 자연스럽게 이동할 수 있는 공간을 구성하고, 에셋 배치 및 충돌/내비게이션 설정을 이해한다.
핵심 개념 내비게이션(Navigation) : 캐릭터가 이동 가능한 영역을 정의하는 시스템.
충돌(Collision) : 오브젝트 간 물리적 접촉을 감지해 벽이나 바닥 통과를 막는 기능.
Static Mesh 배치 : 3D 오브젝트의 위치·회전·크기를 조정해 공간을 구성.
구현 과정 Step 1. 씬 컨셉 잡기
예시 컨셉: 나만의 방, 작은 마을 거리, 공원 한쪽 등
배경이 되는 바닥과 벽 오브젝트 배치

Step 2. 에셋 배치
- 외부 또는 Starter Content에서 다양한 Static Mesh 배치
- 예시 : 건물, 나무, 의자, 조명 등
Transform 조절을 활용해 다양하고 자연스럽게 배치
Step 3. 캐릭터 내비게이션 확인 
- 캐릭터가 부드럽게 돌아다닐 수 있도록 충돌 영역 조정
- 지나가지 못해야 할 벽/장애물에는 정확한 Collision 설정
Step 4. 테스트 플레이
-WASD로 걷고, 마우스로 둘러보고, 점프하면서 이동성 확인
- 좁은 길, 계단 등 다양한 경로를 시도해보기
사용 에셋  FANTASTIC - Village Pack (Fab)
느낀 점 단순한 오브젝트 배치보다 충돌과 이동 경로 설계가 게임 공간의 완성도를 좌우함을 깨달았다.
개선점 - 계단·경사로 등 높이 변화를 추가해 이동 테스트 다양화
- 조명과 머티리얼로 공간 분위기 향상 계획

'내일배움캠프 Unreal_7기 > 사전캠프' 카테고리의 다른 글

사전캠프 TIL - 9일차  (0) 2025.11.13
사전캠프 TIL - 8일차  (0) 2025.11.12
사전캠프 TIL - 6일차  (0) 2025.11.10
사전캠프 TIL - 5일차  (0) 2025.11.07
사전캠프 TIL - 4일차  (0) 2025.11.06