[언리얼 엔진] 블루프린트 이벤트, 변수
- 이런저런 공부/언리얼엔진
- 2020. 6. 7.
언리얼 엔진의 비주얼 스크립팅인 블루프린트(Blueprint)는 언리얼 에디터 안에서 노드 기반 인터페이스를 사용하여 게임 플레이 요소를 만드는 개념을 토대로 한 비주얼 스크립팅이다.
언리얼 엔진(Unreal Engine)에서 블루프린트(Blueprint)를 사용하는 데는 5가지 유형이 있다.
· 레벨 블루프린트(Level Blueprint) - 레벨에 대한 이벤트를 관리하는 데 사용한다.
· 블루프린트 클래스(Blueprint class) - 레벨에 배치된 액터의 기능을 관리하는 데 사용된다.
· 데이터 전용 블루프린트(Data-Only Blueprint) - 상속된 블루프린트의 수정된 속성들만 저장
· 블루프린트 인터페이스(Blueprint Interface) - 블루프린트 사이의 인터페이스를 정의
· 블루프린트 매크로(Blueprint Macro) - 다른 블루프린트에서 실행 또는 호출할 수 있는 접힌 노드 망
노드(Node)
노드는 이벤트, 함수, 변수를 시각적으로 표현한 것이며 색으로 구분된다. 빨간색 노드는 노드 시퀀스의 실행을 시작하는 데 사용되는 이벤트 노드이고, 파란색 노드는 특정 작업을 수행하기 위한 함수이다. 하나의 데이터 핀을 가진 타원형 노드는 변수를 나타낸다.
이벤트(Event)
언리얼 엔진(Unreal Engine)에서 블루프린트(Blueprint)는 이벤트(Event)를 기반으로 동작한다. 이벤트(Event)는 게임 플레이 도중에 발생하며, 키보드의 키를 누르거나 게임을 시작할 때 또는 레벨 내 특정 방에 들어가는 폰이 다른 액터와 충돌할 때 발생한다. 이벤트(Event)는 블루프린트(Blueprint)에 있는 시퀀스를 시작하기 위해 사용되며 이벤트가 발생하면 신호가 이벤트의 출력 실행 핀으로부터 보내지고 선을 따라 발생하는 모든 함수를 처리한다.
·BeginOverlap - 두 엑터의 콜리전 Hull이 겹치면서 발생한다.
·EndOverlap - 두 엑터의 콜리전 Hull이 더 이상 겹치지 않으면 발생한다.
·Hit - 두 엑터의 콜리전 Hull이 부딪혔지만 겹치지 않았을 때 발생한다.
·BeginPlay - 레벨이 메모리에 로드되고 플레이될 때마다 발생한다.
·EndPlay - 레벨이 끝나면 발생한다.
·Destroyed - 엑터가 메모리에서 삭제되면 발생한다.
·Tick - CPU의 틱이 올 때마다 발생
·Custom - 사용자가 정의한 대로 특정 필요에 따라 동작한다.
변수(Variables)
변수(Variables)는 단순히 데이터를 저장하는 것을 말하며, 데이터에는 숫자, 이름, 스테이지의 액터 등이 될 수 있다.
언리얼 엔진(Unreal Engine)의 변수(Variables)에는 반드시 형 또는 데이터 타입이 있어야 한다.
변수(Variables)의 유형
빨강 변수는 부울(True/False) 데이터를 나타낸다.
청록 변수는 0, 152, -226와 같은 정수 데이터, 또는 소수점이 없는 숫자를 나타낸다.
초록 변수는 0.0553, 101.2887, -78.322와 같은 실수 데이터, 또는 소수점이 있는 숫자를 나타낸다.
자홍 변수는 Hello World 같은 문자열 데이터, 알파벳과 숫자로 된 글자 그룹을 나타낸다.
분홍 변수는 표시되는 텍스트, 특히나 현지화가 가능한 텍스트를 나타낸다.
금색 변수는 벡터 데이터, 또는 XYZ나 RGB처럼 세 개의 실수로 구성되는 요소나 축정보를 나타낸다.
보라 변수는 3D 공간에서의 회전을 수치로 정의하는 그룹인 로테이터 데이터를 나타낸다.
주황 변수는 트랜슬레이션(3D 위치), 로테이션, 스케일로 구성되는 트랜스폼 데이터를 나타낸다.
파랑 변수는 오브젝트, 즉 Light, 액터, 스태틱 메시, 카메라, Sound Cue 등을 나타낸다.
편집 가능한 변수(Variables)
변수가 Editable, 편집 가능으로 설정되면, 변수가 들어있는 블루 프린트 외부에서 그 변수를 수정할 수 있게 된다.
Get, Set 노드
Get노드는 네트워크에 변수 값을 주며, 생성 이후 적합한 유형을 받는 어느 노드에 연결이 가능하다.
Set노드는 변수의 값을 바꿔주며, 참고로 실행을 위해서는 실행선의 호출을 받아야 한다는 점
변수 툴팁(Tooltip)
에디터에서 변수에 마우스 커서를 올렸을 때 나타나는 변수에 대한 툴팁(Tooltip)을 추가할 수 있다.
구조체
구조(Structure)의 줄임말인 구조체(struct)는 변수들의 컬렉션을 말한다. 벡터(Vector)와 로테이터(Rotator)는 기술적으로 구조체며 내부적으로 세 개의 Float로 이뤄져 있다.