비주얼 이펙트 그래프 로직
비주얼 이펙트 그래프는 다음의 두 가지 고유한 워크플로를 사용합니다.
처리 (수직) 로직 - 커스터마이즈가 가능한 단계를 서로 연결하여 시스템의 수명을 정의합니다.
프로퍼티 (수평) 로직 - 서로 다른 컨텍스트를 연결하여 파티클의 모양과 동작을 정의합니다.
처리 워크플로(수직 로직)
처리 워크플로는 커스터마이즈가 가능한 일련의 단계들을 서로 연결하여 전체 시스템 로직을 정의합니다. 여기서 파티클의 생성, 초기화, 업데이트 및 렌더링이 효과 중에 발생하는 시기를 결정할 수 있습니다.
처리 워크플로는 Context 노드의 상단과 하단에 위치한 플로 슬롯을 사용하여 컨텍스트를 연결합니다.
처리 로직은 시각 효과 처리의 여러 단계를 정의합니다. 각 단계는 컨텍스트라고 부르는 커다란 컬러 컨테이너로 구성됩니다. 각 컨텍스트는 호환 가능한 또 다른 컨텍스트에 연결하며, 이를 통해 다음 처리 단계가 현재 컨텍스트를 사용하는 방법을 정의합니다.
컨텍스트는 블록이라고 부르는 요소를 포함할 수 있습니다. 모든 블록은 하나의 작업을 담당하는 스태킹 가능 노드입니다. 블록을 재정렬하여 Unity가 시각 효과를 처리하는 순서를 변경할 수 있습니다. Unity는 컨텍스트의 블록을 위에서 아래로 실행합니다.
프로퍼티 워크플로(수평 로직)
수평 프로퍼티 워크플로에서 수학 연산을 정의하여 시각 효과를 향상시킬 수 있습니다. 이는 파티클의 모양과 동작에 영향을 줍니다.
프로퍼티 워크플로는 해당 블록의 프로퍼티 슬롯을 사용하여 컨텍스트를 연결합니다. 왼쪽이 입력이고 오른쪽이 출력입니다.
비주얼 이펙트 그래프에는 시각 효과의 동작을 정의할 수 있는 방대한 블록 및 노드 라이브러리가 함께 제공됩니다. 생성한 노드 네트워크는 렌더 파이프라인이 그래프 컨텍스트 내 블록으로 전달하는 데이터의 수평 플로를 제어합니다.
파티클이 작동하는 방식을 커스터마이즈하기 위해 수평 노드를 블록에 연결하여 커스텀 수학 표현식을 만들 수 있습니다. 이렇게 하려면 Create Node 컨텍스트 메뉴를 사용하여 노드를 추가하고, 값을 변경한 후 노드를 블록 프로퍼티에 연결하십시오.
그래프 요소
비주얼 이펙트 그래프는 그래프 요소를 만들고 서로 연결하여 효과 동작을 정의할 수 있는 작업 공간을 제공합니다. 비주얼 이펙트 그래프는 작업 공간에 맞는 다양한 타입의 그래프 요소와 함께 제공됩니다.
작업 공간
비주얼 이펙트 그래프는 그래프 요소를 만들고 서로 연결하여 효과 동작을 정의할 수 있는 작업 공간을 제공합니다.
시스템
시스템은 시각 효과의 주요 컴포넌트입니다. 모든 시스템은 렌더 파이프라인이 다른 시스템과 함께 시뮬레이션하고 렌더링하는 하나의 고유한 부분을 정의합니다. 그래프에서 일련의 컨텍스트를 통해 정의된 시스템은 점선 윤곽선으로 나타납니다(위 이미지 참조).
- 생성 시스템은 단일 Spawn 컨텍스트로 구성됩니다.
- 파티클 시스템은 Initialize, Update 및 Output 컨텍스트로 구성됩니다.
- 메시 출력 시스템은 단일 Mesh Output 컨텍스트로 구성됩니다.
컨텍스트
컨텍스트는 처리 단계를 정의하는 시스템의 일부입니다. 컨텍스트를 서로 연결하여 시스템을 정의합니다.
비주얼 이펙트 그래프의 가장 일반적인 네 가지 컨텍스트는 다음과 같습니다.
- Spawn. 활성화하면 Unity가 프레임마다 호출하고, 생성할 파티클의 양을 계산합니다.
- Initialize. 모든 파티클이 '탄생'할 때 Unity가 호출합니다. 파티클의 초기 상태를 정의합니다.
- Update. Unity가 모든 파티클에 대해 프레임마다 호출하며, 이를 통해 힘, 충돌 등의 시뮬레이션을 수행합니다.
- Output. Unity가 모든 파티클에 대해 프레임마다 호출합니다. 파티클의 모양을 결정하고, 사전 렌더링 변환을 수행합니다.
참고: Output Mesh와 같은 일부 컨텍스트는 다른 시스템과 관련이 없기 때문에 다른 컨텍스트에 연결되지 않습니다.
블록
블록은 컨텍스트로 스태킹할 수 있는 노드입니다. 모든 블록은 하나의 작업을 담당합니다. 예를 들어 속도에 힘을 적용하거나, 구체와 충돌하거나, 무작위 컬러를 설정할 수 있습니다.
블록을 생성할 때 현재 컨텍스트 내에서 블록을 재정렬하거나, 다른 호환 가능한 컨텍스트로 이동할 수 있습니다.
블록을 커스터마이즈하려면 다음을 수행할 수 있습니다.
프로퍼티를 조정합니다. 이렇게 하려면 프로퍼티 포트를 에지가 있는 다른 노드에 연결하십시오.
프로퍼티의 설정을 조정합니다. 설정은 다른 노드에 연결할 수 없는 포트가 없는 편집 가능한 값입니다.
연산자
연산자는 프로퍼티 워크플로의 하위 수준 작업을 구성하는 노드입니다. 노드를 서로 연결하여 커스텀 동작을 생성할 수 있습니다. 노드 네트워크는 블록 또는 컨텍스트에 속하는 포트에 연결됩니다.
그래프 공통 요소
그래프 요소는 서로 다르지만, 콘텐츠와 동작은 동일한 경향이 있습니다. 그래프 요소는 다음의 기능과 레이아웃 항목을 공유합니다.
설정
설정은 프로퍼티 워크플로를 사용하여 연결할 수 없는 필드입니다. 모든 그래프 요소는 다음에서 설정을 표시합니다.
- 그래프에서: 그래프의 제목과 프로퍼티 컨테이너 사이.
- 인스펙터에서: 노드를 선택하면 인스펙터가 추가 고급 설정을 표시.
설정 값을 변경하면 그래프를 다시 컴파일하여 효과를 확인해야 합니다.
프로퍼티
프로퍼티는 프로퍼티 워크플로를 사용하여 편집하고 연결할 수 있는 필드입니다. 다른 그래프 요소에 포함된 다른 속성에 연결할 수 있습니다.
기타 그래프 요소
그룹
노드를 그룹화하여 그래프를 구성할 수 있습니다. 그룹화된 노드를 드래그할 수 있으며, 그룹의 목적을 설명하는 제목을 지정할 수도 있습니다. 그룹을 추가하려면 여러 개의 노드를 선택하고, 마우스 오른쪽 버튼을 클릭한 후 Group Selection을 선택하십시오.
스티커 메모
스티커 메모는 동료나 자신에게 설명이나 알림을 남기기 위해 추가할 수 있는 드래그 가능한 코멘트 요소입니다.