(Unreal Engine) 블루프린트 개요


1. 블루프린트 노드의 종류


  • 이벤트: 이벤트는 특정한 사건이 발생했음을 알리는 신호이다. 예를들어, 적이 총에 맞았을 때 적과 총알이 충돌하는 것은 이벤트이고, 적이 쓰러지고 득점이 표시되는 것은 이벤트의 처리이다. 이벤트 노드는 빨간색으로 표시된다.
예) 게임이 시작될 때, 게임이 끝날 떄, 충돌(겹침)이 시작될 때, 충돌(겹침)이 끝날 떄, 버튼을 누르거나 놓을때, 키를 누르거나 놓을떄, 매 프레임마다, 사용자 정의 이벤트

  • 변수
예) bool(예/아니오), byte(0~255),int, flat, name(액터의 이름), string(문자열), text(현지화가 가능한 텍스트), Vector, Rotator, Transform, struct,object, interface, class, Enum


  • 연산자: 사칙연산이나 값을 비교하기 위한 노드이다. 연산자는 피연산자를 입력받는 핀과 연산결과를 반환하는 핀으로 구성되어 있으며, 자료의 유형(Type)에 따라 사용하는 연산작 다르다. 연산은 왼쪽에서 오른쪽으로 진행되며, 왼쪽 연산이 완전히 끝난 후 오른쪽연산을 하므로 우선순위는 적용되지 않는다.
  • 함수: 데이터를 입력받아 정해진 절차를 수행한 후 결과를 반환하는 노드이다. 대부분의 함수는 하나이상의 값을 입력받아 하나이상의 값을 반환하므로 입력과 출력핀이 각각 있다. 언리얼 엔진에는 매우 다양한 함수가 내장되어 있으며, 특정한 처리를 하는 함수를 사용자가 직접 만들 수도 있다. 
예) 벡터를 개별요소로분해, 회전값 만들기, 위치구하기, 이름구하기, 지정한 Tag가 있는지 조사, 키 입력값 구하기, 난수만들기, 목표물의 방향 구하기

  • 제어 노드: 조건(if)에 따라 다른 처리를 하거나 특정한 부분을 반복(for),또는 각각의 값에 따른 선택(switch)등 제어의 흐름을 바꾸는 노드이다.

  • 시간 관련 노드: 시간의 흐름에 따라 특정한 처리를 하기 위한 노드이다. 
예) 타이머 설정, 타이머 일시정지, 지정항 시간동안 특정부분 처리, 지정한 시간(초)동안 실행 중지, 직전 프레임과의 시간차, 게임시작부터 경과시간

  • 형변환 노드: 자료의 형(Type)을 강제로 바꾸기 위하 노드로,대부분 자동으로 추가된다.

  • 변수의 Get과 Set: 변수 노드는 Get과 Set이 있다. Get은 변수의 값을 읽는 동작이고. Set은 변수에 값을 저장한다. Get은 값이지만 Set은 명령이다. 따라서 Set노드의 왼쪽핀에 명령을 연결하지 않으면 동작하지 않는다.





<블루 프린트의 종류>

1. 레벨 블루프린트

게임의 모든레벨(씬)에 하나씩 할당되어있는 블루프린트이다. 레벨에 설치된 각종 액터와 상호 작용을 통해 게임을 진행해간다. 레벨의 메인프로그램에 해당하며, 레벨 블루 프린트는 다른 레벨의 내용을 참조할 수는 없다.

2. 게임 모드 블루프린트

게임의 모드와 게임의 초기 설정을 위해 사용한다. 개발자가 게임 모드 블루 프린트를 만들지 않으면 언리얼 엔진에 마련되어 있는 GameMode블루프린트가 사용된다.

3. 클래스 블루프린트

씬에 설치할 각종 액터, 사운드, 카메라, 파티클 등에서 발생한ㄴ 이벤트와 움직이는 액터의 동작을 처리학 위해 사용한다. 클래스 블루프린트는 액터에 하나씩 할당 할 수 있다.
블루프린트가 할당된 액터를 블루프린트 액터라고 하며, 블루프린트 액터를 씬에 설치하면 블루프린트에 설정한 절차대로 동작한다. 예를들어, 사람이 접근하면 자동으로 켜지는 전등, 스위치를 누르면 작동하는 엘리베이터 등을 블루프린트 액터로 만들면 전체적인 구성이 간단해진다. 게임제작에 필요한 블루프린트의 거의 대부분이 클래스 블루 프린트이다.

4. 블루프린트 인터페이스

다른 블루프린트와 데이터를 공유하기 위해 작성한 블루프린트 함수 이름만 모아둔 것이다.

5. 블루프린트 매크로 라이브러리

매크로는 반복되는 일련의 절차를 별도의 그래프로 만들어 둔 것으로, 매크로 라이브러리는 블루프린트 매크로를 모아둔 것이다.

6. 위젯 블루프린트

게임의 UI를 만들기 위한 블루프린트이다.

댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기