새소식

C#,Unity Programming

[Visual Scripting] 중복 그래프 방지를 위한 그래프 정리(슈퍼유닛 만들기)

  • -
728x90

 

## 골드메탈님의 강의를 들으며 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를 더블클릭하면 슈퍼유닛의 그래프도 볼 수 있다.

간단한 매크로라서 크게 차이는 없어보이지만, 슈퍼유닛 안에서 복잡한 연산이 필요하거나, 자주 반복되는 매크로라면 슈퍼유닛으로 만들어서 활용하는 것이 깔끔하고 실수도 줄이는 방법일 것 같다.

Contents
  • -

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.