Unreal 그래프 접기

노드로 접기

  • 블루프린트 노드를 디자인하다가 커다란 그래프를 하나로 묶어 정리하는 기능

매크로로 접기

  • 노드로 접기와 동일하게 entry point와 exit point가 있으며 복수 개의 핀을 가질 수 있다

함수로 접기

  • 함수로 접으면 재사용성을 가진다
  • 다른 블루프린트에서 이 함수를 호출(사용)할 수 있다

함수와 매크로의 차이

  • 코드를 재사용하고 리팩토링 하기 위해서 둘의 목적성은 같다
  • 그러나 아래와 같은 차이가 있다
분류 Function Macro
형태 하나의 노드 노드의 집합
잠복성 노드 불가 가능
실행 핀 1개의 Input/Ouput 핀 필요 실행 핀 개수 제한 없음
리플리케이션 가능 여부 가능 불가
C++ 코드에서의 취급 가능 불기
목적 반복실행이 요구될 때
지역 변수를 사용해야 할때
복수개의 실행 핀이 필요할 때
잠복성 노드를 사용할 때

함수와 매크로 형태 차이

  • 함수는 컴파일 타임을 거쳐, 비록 여러개의 노드를 가지고 있더라도 하나의 노드로 정의된다
  • 매크로는 일련의 노드를 묶은 것이다.
    • 사실상 접힌 노드와의 차이가 없다

잠복성 노드의 사용 가능 여부

  • 함수는 Delay나 TimeLine 같은 노드를 사용할 수 없다
  • 함수는 즉시 실행 및 결과 도출에 이른다.
  • 매크로는 단순히 노드의 집합이므로 가능하다

실팽 핀의 개수

  • 함수는 1개의 Input과 Output 실행 핀을 가진다
  • 매크로는 있을 수도 있고 없을 수도 있다
    • 그저 노드의 집합일 뿐이라는 점을 잊지 말자
  • 실행 핀의 의미는 조금 더 공부할 필요가 있을 듯…

리플리케이션 가능 여부

  • 멀티플레이어를 구현하는 데 있어 함수는 이 옵션을 사용 가능하나, 매크로는 불가

C++ 코드에서의 접근

  • 함수는 C++로 접근이 가능하나, 매크로는 블루프린트에서만 가능하다
  • 매크로의 풀네임은 블루프린트 매크로이다

리플리케이션이란?

  • 호스트 컴퓨터가 가진 데이터를 다른 컴퓨터로 복사하는 것
  • 구체적인 내용은 추후에 보강하는 것으로…

변수 리플리케이션

함수 호출 리플리케이션

출처