* 블루 프린트(Blue Print)란?
: 텍스트로 작성하는 코드를 '노드'라는 시각적 형태로 작성하는 것으로 변경한 일종의 비주얼 스크립팅이다.
1) 노드의 구조
- 노드에는 여러가지 핀이 존재한다.
- 실행핀 : 이전 노드로부터 호출 받거나, 다음 실행 노드를 호출하는 역할
- 입력핀 : 현재 노드 실행에 필요한 데이터를 전달받는 역할
- 출력핀 : 현재 노드 실행이 끝난 이후 결과값을 반환하는 역할
- 위와 같이 노드들은 왼쪽에서 오른쪽으로 흐름이 진행된다.
2) 변수(Variable) 생성
- Variables 옆에 있는 +Variable 버튼을 누르면 새로운 변수가 생성되고, 해당 변수의 Details에서 변수명, 변수 타입 등을 설정할 수 있다.
- 위와 같이 Event Graph에 변수들을 끌어놓아 노드의 입력 또는 출력값으로 사용한다.
- 변수의 Details에서 Instance Editable을 체크해두면 굳이 원본 블루프린트 설정에서 해당 변수를 수정하지 않고, 에디터 상의 Details에서도 수정 가능하다. 또한 Category 부분을 수정하면 에디터의 Details에서 수정한 이름의 카테고리로 묶여서 표시된다.
3) 함수(Function) 사용
- Functions 옆의 +Function 버튼을 눌러 새로운 함수를 생성한다.
- Input과 Output을 추가해 함수의 입력값과 결과값을 생성한다.
- Input과 Output을 추가하면 위와 같은 모양이 되는데, 이 때 Input 핀을 빈 공간으로 끌어오면 해당 함수에서 사용할 수 있는 Action 목록이 나온다. 지금은 두 정수를 더하는 함수를 만들 것이기 때문에 'int + int'를 선택해준다.
- Action을 선택했으면 해당 Action에 대한 입력에 두 변수를 연결하고, Action의 결과값을 함수의 Return 노드에 전달해준다.
- 이제 함수를 사용하기 위해서 Event Graph에 해당 함수(Add)를 끌어오고, 미리 만들어둔 변수들을 함수의 매개변수로 입력한다. 이후 결과값을 Print String 함수의 입력값에 넣으면 두 수의 합계가 출력된다.
또한 함수의 실행 순서는 Play -> Add -> Print String이기 때문에 실행핀도 좌측에서 우측으로 순서대로 연결해준다.
- 조건문 함수를 사용할 때는 조건문 함수의 결과값이 Bool 형태의 값이다. 따라서 우클릭 후 검색해 'Branch'라는 노드를 만들어 조건문 함수의 결과값을 Branch의 입력으로 연결하고, 이 입력값이 True인지 False인지에 따라 다음 함수가 선택되어 실행되도록 한다.
-
반복문 함수를 사용할 때는 For Loop라는 노드를 사용한다.
- Loop Body : 반복할 함수 연결
- Index : 현재 인덱스 반환
- Comleted : 반복 끝난 이후 실행할 함수 연결
- First Index : 반복 시작할 인덱스 번호
- Last Index : 반복 종료할 인덱스 번호
-
Number1 변수에 1을 10번 더하기 위해 Add의 첫 매개변수에 Number1을 넣고, 두 번째 매개변수는 1로 설정한다. 이때 Number1은 값에 의한 참조이므로 원본 Number1은 Add 함수에 의해 변하지 않는다. 때문에 Number1을 Set으로 가져와 원본값을 변경해주어야 한다.