흐름 그래프의 노드가 항상 해석되는 것은 아닙니다. 그래프 해석은 노드 간 이벤트의 결정적 체인을 따르지만, 올바른 작업에 대응하여 올바른 순서로 올바른 이벤트가 발생하도록 체인을 설정하는 것이 때로는 쉽지 않을 수 있습니다.
이 항목에서는 흐름 그래프를 연결할 때 유념해야 할 기본 규칙에 대해 설명합니다.
특정한 종류의 흐름 노드는 게임의 어디에선가 발생하는 트리거에 대응하여 이벤트를 배출합니다. 이러한 노드는 일반적으로 입력 이벤트가 없지만 출력 이벤트를 작동시키기 때문에 이들을 식별할 수 있습니다.
예를 들어 일반적으로 사용되는 이벤트 방사체 노드로는 다음이 포함됩니다.
Event > Trigger 노드에는 켜거나 끌 수 있는 입력 이벤트가 있습니다. 활성화된 동안에는 새 그래프 해석을 시작하는 새 이벤트를 배출할 수 있고, 비활성화된 동안에는 이벤트를 배출하지 않습니다.
노드에서 입력 이벤트를 수신하면 해당 이벤트는 노드의 해석을 트리거합니다. 이 노드가 다른 노드의 입력 슬롯에 연결된 출력 이벤트를 하나 이상 생성하면 해석이 이러한 연결을 따라 다음 노드로 전파합니다.
노드에서 연결된 출력 이벤트가 없다고 해석하면 해당 체인 파트가 완료됩니다. 다른 노드 출력 이벤트 슬롯에 연결된 입력 이벤트 슬롯이 없는 노드는 해석되지 않습니다.
흐름 그래프에는 종종 서로 다른 트리거에 대항 응답으로 서로 다른 시점에 해석되는 별도의 여러 체인이 있습니다. 각 체인은 서로 간에 독립적입니다.
예를 들어 이 유닛 흐름에는 서로 다른 시점에 해석되는 세 개의 별도 이벤트 체인이 있습니다. 이 유닛이 생성되면 HumanIK 시스템이 초기화 및 활성화됩니다. 특정 버튼을 누르면 HumanIK foot planting(발 디딤 유지)가 활성화됩니다. 마지막으로, 오른쪽 그룹에서 캐릭터의 애니메이션 제어기가 애니메이션에 발자국 또는 점프 마커를 탐지할 때마다 Wwise를 트리거하여 사운드를 재생합니다.
쿼리 노드라고 부르는 일부 노드는 규칙 2를 어깁니다. 이러한 노드는 다른 노드에서 계산에 사용하도록 쿼리할 수 있는 출력 데이터 값을 생성합니다. 쿼리 노드는 쿼리 노드의 출력 값 중 하나 이상을 사용하는 또 다른 다운스트림 노드가 해석될 때만 해석됩니다.
일반적인 해석 방향을 역행하는 쿼리 노드를 생각하면 됩니다. 이벤트를 배출하는 업스트림 노드에서 트리거하는 쿼리 노드 대신 이는 출력 중 하나를 사용하려는 다운스트림 노드에 의해 트리거됩니다. 여러 쿼리 노드가 서로 연결되면 해석이 체인의 첫 번째로 돌아가 값을 다시 앞으로 전달합니다.
쿼리 노드에는 입력이나 출력 이벤트가 전혀 없이 데이터 커넥터만 있기 때문에 이를 식별할 수 있습니다. 일반적으로 쿼리 노드는 변수나 유닛으로부터 최신 데이터를 검색하거나, 수학이나 부울 연산을 위한 값을 찾거나, 서로 다른 유형 간에 입력 데이터 값을 전환하는 데 사용됩니다.
다음은 이벤트 연결과 쿼리 노드를 모두 사용하는 유닛 흐름 그래프의 예시입니다. 초기 트리거는 왼쪽 발이 지면에 닿을 때를 나타내는 애니메이션 제어기 이벤트입니다. 이는 새로운 유닛을 생성하여 발자국을 표현합니다. 계산 시에 Unit > Spawn Unit on Position 노드는 새 유닛의 위치와 방향을 인식함으로써 쿼리 노드 체인을 통해 다시 돌아가 해당 값을 얻어야 합니다.