## 골드메탈님의 강의를 들으며 Visual Script 기본기를 정리합니다.
슈퍼유닛이란?
슈퍼유닛은 다른 그래프 내부에서 사용하기 위한 매크로로,
다른 그래프에 Subgraph로 모듈처럼 사용할 수 있는 그래프이다.
중복되는 그래프를 슈퍼유닛으로 만들어서 관리하면 프로그램을 깔끔하게 관리할 수 있다.
구현순서
1. Update 와 변수 유닛 제거
슈퍼유닛은 Monobehavior의 update 함수를 직접 사용하지 않으므로, Update를 제거하고, 변수 유닛도 따로 관리할 것이므로 제거하여 아래 유닛만 남긴다.
2. Nesting - Input 유닛 추가
외부 인풋을 받기 위한 Input 유닛을 추가해준다.
3. Trigger Input, Data Input 추가
Input 유닛 선택 후 그래프 좌측 Graph Inspector 창에서 Trigger Input을 추가해준다.
Speed 로 받았던 변수도 Data Input 으로 추가해준다.
Trigger Input은 외부에서 화살표를 받을 수 있게 해주고, Data Input은 외부에서 데이터를 받을 수 있게 해준다.
그 다음 Input 과 Translate의 흐름을 연결해주고, Speed 변수는 Get Delta Time 과 곱해서 X값으로 들어갈 수 있도록 연결해준다.
이렇게 하나의 슈퍼유닛이 완성되었다.
패럴랙스 적용 오브젝트에 방금 만든 슈퍼유닛을 적용해보자.
Cloud Group의 그래프에서,
방금 슈퍼유닛으로 만든 부분을 대체해보면, 이렇게 바꿀 수 있다.
Graph 폴더에서 Scrolling 그래프를 드래그해서 가져다 놓기만하면 된다.
Subgraph를 더블클릭하면 슈퍼유닛의 그래프도 볼 수 있다.
간단한 매크로라서 크게 차이는 없어보이지만, 슈퍼유닛 안에서 복잡한 연산이 필요하거나, 자주 반복되는 매크로라면 슈퍼유닛으로 만들어서 활용하는 것이 깔끔하고 실수도 줄이는 방법일 것 같다.