내일배움캠프-언리얼

[내일배움캠프 - 언리얼] DAY 3 - 블루프린트를 이용한 비주얼 스크립팅

이시보 2025. 12. 1. 17:06

블루프린트란?

블루프린트는 언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템이다.

비주얼 스크립팅은 코드 작성 없이 노드 기반의 블럭을 연결하여 프로그래밍 하는 것이다.

블루프린트 변수

변수 : 상수를 저장할 수 있는 그릇

  • 부울(Boolean) : 참/거짓 두 가지 상태만 가짐
  • 바이트(Byte) : 정수. 가장 크기가 작음(0~255)
  • 인티저(Integer) : 정수. 일반적인 정수(-21억~21억)
  • 인티저64(Integer64) : 정수. 가장 크기가 큼
  • 플로트(Float) : 실수. 정밀도가 더 우월함(double-precision)
  • 이름(Name) : 문자열. 엔진 내부에서 사용, 불변인 경우
  • 스트링(String) : 문자열. 일반적인 문자열 (ex. 플레이어명)
  • 텍스트(Text) : 문자열. 퀘스트 설명같이 다국어 변환이 필요한 경우

변수를 드래그, 드랍하면 get, set으로 변수를 가져오거나 저장할 수 있다.

연산 노드

사칙연산 노드

 

비교연산 노드
논리연산 노드

흐름 제어

Branch : if-else 조건문과 동일한 역할을 하는 노드

 

Sequence : 실행 흐름을 순차적으로 실행시켜주는 노드

 

While loop, For loop : Loop Body를 조건에 맞춰 반복하는 반복

Switch : 매개변수의 값에 따라 분기함

 

함수 : 반복되는 코드를 하나의 노드로 바꿀 수 있어 코드 재사용성을 높힐 수 있다.

자료 구조

Array(배열) : 하나의 변수 이름 안에 여러 개의 변수를 넣은 것. 인덱스로 접근한다.

Enum(열거형) : 정수형 상수에 이름을 부여하여 모아둔 것.

Structure(구조체) : 필요에 따라 자료형을 만들어야 할 때 구조체를 사용

실습

- 3가지 종류의 총을 사용, 총은 최대 탄량, 현재 온도, 열 상태, 이름을 요소로 가지고 있음.

- 좌클릭시 총알 발사, 없으면 발사되지 않음

- r키 누르면 총알 최대로 장전, 이미 최대치면 장전되지 않음

- 총알이 한 발 발사될 때마다 온도 1도 상승, t키를 누르면 온도 1도 하락

- 온도에 따라 0~30이면 '보통', 31~70이면 '높음', 71이상이면 '초과'의 열 상태

- 0, 1, 2키로 무기 변경

 

 

개인 피드백

- 구조체 배열의 내용을 가져오는 다른 방법이 있는지 궁금하다.

- 온도 설정 함수가 굉장히 지저분해보이는데 이를 정리하는 방법이 있는지 궁금하다.

- 되도록 함수로 만들어서 배치하는게 이런 상황에서도 좋은지 궁금하다.