-
여러 노드를 정리하는 방법 - 그래프 접기언리얼 2022. 12. 2. 13:21
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/Blueprints/BP_HowTo/CollapsingGraphs/
그래프 접기
노드를 새로운 그래프나 함수나 매크로에 접는 방법입니다.
docs.unrealengine.com
그래프를 접는 방법에는 3가지가 있는데,
노드로 접기, 함수로 접기, 매크로로 접기 가 있다.
각각의 차이점에 대해서 정리해보려 한다.
1. 노드 접기
여러 노드를 노드로 합치면,
하나의 노드를 생성하는데, 연결 핀은 다른 노드와 연결해줄 경우 자동으로 생성된다.
매크로나 함수 접기와 다른 점은 반복 호출할 수 없다는 점이다.
그렇지만 매크로나 함수와 동일하게 입력과 출력 파라미터를 가질 수 있다.
2. 함수로 접기
함수로 접기의 가장 큰 특징은
매크로와 노드 방식과 달리 다른 블루프린트에서도
해당 블루프린트 오브젝트 레퍼런스를 통해 함수를 호출할 수 있다는 점이다.
그러나 함수에서는 시간과 관련된 노드(타임라인 등과 같은..)는 사용할 수 없으니 주의하자..
따라서.. 위의 예시로 보여준 노드들은 함수로 접기가 불가능하다.
타임라인 노드를 랜덤 float 값 생성으로 변경해준 뒤,
함수로 접기를 수행하면 잘 되는 것을 볼 수 있다.
매크로를 생성한 블루프린트가 아닌 블루프린트에서의
함수 호출도 잘 되는 것을 확인할 수 있다.
3. 매크로로 접기
함수와 동일하게 시간과 관련된 노드를 사용할 수 없는 것으로 확인..
매크로는 해당 블루프린트에서는 호출 가능하지만,
매크로를 생성한 블루프린트에서 매크로 호출 매크로를 생성한 블루프린트가 아닌 블루프린트에서 해당 매크로 호출 불가. 함수와 달리 다른 블루프린트에서는 호출 불가능하다.
+) 또한 지역 변수를 지정할 수 없다는 점에서 함수와의 차이점이 존재한다.
(함수 블루프린트를 들어가면 가장 아래쪽에 로컬 변수를 지정할 수 있는 항목이 있는데,
매크로에서는 이 항목이 존재하지 않는다.)
따라서, 노드를 정리하는데
한 번만 쓰일 기능이라면 노드 접기를
해당 블루프린트에서 여러 번 사용 가능하게 하고 싶다면 매크로로 접기를
해당 블루프린트 뿐 아니라 다른 블루프린트에서도 수행가능하게
하고 싶다면 함수로 접기를 수행하는 것이 좋겠다.
'언리얼' 카테고리의 다른 글
'get controlled pawn' vs 'get player character'와 플레이어 인덱스 (0) 2022.12.02 블루프린트의 형변환 (0) 2022.12.02 브레인 컴포넌트 (0) 2022.12.01 위젯 인터렉션 컴포넌트의 디버깅 속성 (0) 2022.11.28 언리얼5 애니메이션 (2) 2022.11.22