컴퓨터 그래픽스 : 게임엔진/Unreal

[프로그래밍 입문 올인원] 데이터와 로직 : 블루프린트 실습 1 (11강)

순정법사 2023.09.04

A. 블루프린트 실습

1. 블루프린트 개요

c++이 아닌 블루프린트를 사용하는 이유-

성능 차이가 있긴 하지만(최대 10배) 툴을 최대한 활용할 수 있음!

 

블루프린트란 --> c++코드를 도식화해놓은 것!

 

a. 환경설정

1) 기본 레이아웃을 언리얼 4 로 설정

 

이렇게 보는게 좀 더 편하다(라고 말씀하심)

 

2) Ctrl n 배경 바꿔주기

 

 

3) 배경 저장하기

 

All > Content > Maps 폴더 생성 후  Ctrl S로 맵 저장하기

 

 

4) Open Level Blueprint 열기 

 

C++의 main함수와 유사하게 사용

 

각 위부터 start, update (unity) 를 의미함

 

 

2. 블루프린트 기초

a. 변수

🧡 블루프린트에는 전역변수가 없음 (다 지역변수)

 

1) 설정

 

변수는 대부분 대문자로 설정

불리언일경우 b---로 시작

삭제는 delete 키

 

 

정수 3개를 지원하고 있음 Byte(unsigned), Integer, Integer64(long long)

 

 

2) 생성

 

Hp 변수를 Integer로 설정한 후 드래그로 화면에 get / set 둘다 생성

ctrl 로 가지고 오면 get, alt로 가지고 오면 set

 

위부터 get, set

 

노드를 설정하지 않으면 주석처리 된것과 마찬가지 

 

연결을 끊을땐 alt키 사용

 

3) 값 설정 및 수정

 

여기서도 초기값을 설정할 수 있음 (오른쪽 아래)

 

왼쪽 네모 공간에서 설정하거나, 변수 클릭 후 Default Value 에서도 설정할 수 있음

 

🧡 Set 노드에 뱉어주는 구멍이 하나 더 있는 이유?

이건 무엇일까?

C++에서는 이렇게 연쇄작용으로 값을 설정할 수 있음


👉 따라서 블루프린트 (일병 블프)에서도 값을 지정할 수 있는 구멍을 하나 더 설정해준 것!

 

 

4) 출력

 

화면에 출력하려면 print 시리즈를 사용해야 함

 

두 개가 있음

 

Print String을 사용해서 아까 생성해준 Hp에 String 연결

 

화면에 100 출력!

 

5) 응용

 

Hp값을 maxHp로 변경해서 출력하기

 

 

 

6) 종류

 

 

위에서 알아본 Boolean, Byte, Integer, Integer64말고도 다른 종류가 있음

 

Float는 부동소수점을 표현할 때 사용하고, 엄밀히 말하면 float 보다 double에 더 가깝다

 

Name, String, Text 는 문자열을 다루는 변수인데 사용하는 곳이 다 다르다

 

  • Name : 절대 변하지 않는 이름에 사용 ex) 게임 이름
  • Text  : UI 특히 다국어 지원이 필요한 곳 ex) 인벤토리
  • String : 그 외의 일반적인 부분 ex) IP주소

 

b. 연산

C++과 동일한 노드가 있음

 

아직 비활성화 된 상태

 

✒ 덧셈 예제

 

Hp에 20을 더해주고 -> 설정해준 뒤 (SET) -> text 형태로 출력

 

c. 비교

C++과 동일한 노드가 있음

 

아직 비활성화 된 상태

 

✒ 비교 예제

 

false가 뜸

 

d. 논리 연산자

and 연산자를 사용하는 모습

 

e. 분기문

if/else문은 branch를 사용해서 분기문을 작성함

 

이건 switch 문

 

f. 반복문

각 while, for, for with break 문 노드

 

비활성화 된 상태

 

✒ while문 예제

 

for 노드를 사용하면 좀 더 단순함

 

반복문이 벗어나야 되는 상황이 있으면 for break 노드를 사용하는데

 

이렇게 index가 50인 경우를 찾아 조건을 걸어서 break에 연결해주면 됨

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -

어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프

www.inflearn.com