목표 : 지금까지 작성했던 블루프린트의 엉망인 상태를 함수를 사용해 깔끔하게 정리할 것임.
현재 블루프린트의 상태를 보면 뭐가 뭔지 한눈에 알아보기 힘듦.
이를 위해 대부분은 관련된 블록들을 드래그로 선택하고 c를 눌러 코멘트 블록을 생성함. 그리고 코멘트 블록의 이름을 Spawn Projectile 과 같이 발사체를 스폰하는 블록들이라는 이름으로 설정하여 해당 블록들에서 무슨 일이 일어나는지 나타냄.
블루프린트를 정리하는 한 가지 방법임.
그러나 함수라는 더 좋은 도구가 있기 때문에 최선의 방법은 아님.
함수는 블루프린트의 블록을 실행해 게임을 작동시킴.
언리얼이 제공하는 많은 노드가 이미 함수.
함수는 노드의 왼쪽 상단에 함수를 의미하는 f 가 표시됨.
그러나 언리얼이 제공하는 함수에만 국한되지 않고, 우리가 우리의 고유한 함수를 블루프린트에서 직접 만들 수도 있음.
함수는 블루프린트를 잘 정리할 수 있게 해주고, 블록을 재사용하게 해줌.
즉, 코드 블록 하나를 여러 곳에 공유하게 해줌.
함수를 만들어보자.
마찬가지로 발사체의 발사와 관련된 노드를 선택하고 우클릭 > Collapse to Function 선택
결과 발사체 발사와 관련된 8개의 노드가 하나의 노드로 바뀐것을 확인할 수 있음.
그리고 함수의 이름을 Spawn Projectile로 변경
그리고 이 함수가 어떻게 구성되어있는지 확인하려면 이벤트 그래프에서 해당 노드를 더블클릭하거나 왼쪽의 My Blueprint 탭에서 함수를 더블클릭.
그러면 기존에 없던 보라색 노드가 생긴 것을 확인할 수 있는데, 이 노드가 바로 해당 함수의 진입, 시작 지점.
호출될 때마다 함수의 나머지 모든 노드를 작동시키는 노드.
그리고 Decrease Ammo, Print Ammo 함수를 만들고 노드를 이동시켜서 복잡했던 모든 노드를 한눈에 쉽게 이해할 수 있도록 수정할 수 있음.
이것을 자체 문서화 코드라고 함. 어떤 기능을 하는지 설명하기 위한 주석이나 코드가 필요없음.