관리 메뉴

caLAB

유니티 vfx 그래프 본문

Unity/유니티 vfx 그래프

유니티 vfx 그래프

도이(doi) 2020. 7. 21. 19:51
728x90

*vfx graph HDRP에서만 작동함. 

 

- VFX graph란?

- 기본적인 interface 및 용어 정리 

- 실습 

- 정리

VFX Graph란?

VFX graph를 사용하면 노드를 사용하여 visual effect를 작성할 수 있습니다. 매우 복잡한 시뮬레이션뿐만 아니라 간단한 효과에도 사용할 수 있습니다. Unity는 Visual Effect Component 에 사용할 수있는 Visual Effect Assets에 Visual Effect Graphs를 저장 합니다. 장면에서 visual effect Graph을 여러 번 사용할 수 있습니다.

 

VFX graph 사용하기

- 하나 혹은 다중 파티클 시스템을 생성할 수 있음.

- 메쉬를 추가하거나 쉐이더 속성을 제어할 수 있음.

- 씬에서 사용되는 *인스턴스를 사용자 정의하기 위한 속성을 만들 수 있음.

- 효과의 일부를 켜거나 끄는 이벤트를 만들 수 있음. 그리고  C# 또는 타임라인을 통해 이러한 이벤트를 제어할 수 있음.

- 기본 노드의 하위 그래프를 작성하여 라이브러리를 확장할 수 있음.

- 다른 vfx Graph와 상호작용 가능함. (각기 다른 vfx Graph간 접근 가능)

- 변경 사항을 실시간으로 볼 수 있어 작업에 용이함. 

 

Visual Effect Asset Inspector

update mode

fixed delta time : visual effect project settings에 설정된 고정시간으로 update

delta time : 프레임 시간으로 update

 

Visual Effect Graph Window Layout

  • Toolbar (red) :이 막대에는 시각적 효과 그래프에 전체적으로 영향을주는 컨트롤이 있습니다. 여기에는 Unity가 시각 효과 그래프를 컴파일 할 때 지정하는 컨트롤과 특정 패널을 표시하거나 숨길 수있는 컨트롤이 포함됩니다.
  • Node Workspace (Green) : 시각 효과 그래프를보고 편집 할 수있는 곳입니다.
  • Blackboard (blue) 
    Blackboard는 그래프에서 사용하고 검사기에서 수정할 수있는 매개 변수를 저장합니다. 작성할 수있는 다양한 유형의 매개 변수를 구성하기 위해 Blackboard는 범주 및 툴팁을 지원합니다. 새 매개 변수를 만들려면 칠판 오른쪽 상단에있는 + 아이콘을 클릭하십시오.
  • Target Visual Effect GameObject (Purple) :이 패널은 현재 연결된 게임 오브젝트의 컨트롤을 표시합니다.

Visual Effect Graph Workspace
- System, Context, Block, Node, Comment

System

System은 시각 효과의 주요 구성 요소입니다. 모든 시스템은 렌더 파이프 라인이 다른 시스템과 함께 시뮬레이션하고 렌더링하는 고유 한 부분을 정의합니다. 그래프에서 연속 된 컨텍스트로 정의 된 시스템은 점선으로 표시됩니다.

  • Spawn System은 하나의 Spawn Context로 구성되어 있습니다.
  • Particle System은 Initialize, Update, Ouput의 연속으로 구성되어 있습니다.
  • Mesh Output System은 Single Mesh Output로 구성되어 있습니다.

Context

Context는 처리 단계를 정의하는 시스템의 일부입니다. 컨텍스트는 서로 연결되어 시스템을 정의합니다.

시각 효과 그래프에서 가장 일반적인 4 가지 컨텍스트는 다음과 같습니다.

  • Spawn 활성화되면 Unity는 이것을 매 프레임마다 호출하고 스폰 할 파티클 양을 계산합니다.
  • Initialize 유니티는 이것을 모든 파티클의 "birth"이라고 부릅니다. 이것은 파티클의 초기 상태를 정의합니다.
  • Update Unity는 이것을 모든 파티클에 대해 매 프레임마다 호출하고이를 사용하여 시뮬레이션 (예 : forces and collisions)을 수행합니다.
  • Output 유니티는 이것을 모든 파티클에 대해 매 프레임마다 호출합니다. 파티클의 모양을 결정하고 렌더링 전 변형을 수행합니다.

Block

Block 은 Context에 쌓을 수있는 노드입니다. 블록은 상황에 따라 다르며 일부 블록은 특정 컨텍스트에서 사용할 수 없습니다. 예를 들어, 스폰 속도 블록은 스폰 컨텍스트에만 추가 할 수 있습니다.

블록 이름 오른쪽의 확인란을 선택 취소하여 블록을 비활성화 할 수 있습니다. 일부 입력은 입력 이름 왼쪽의 작은 화살표로 접을 수 있습니다. 이를 통해 Vector3의 X, Y 및 Z 구성 요소와 같은 특정 속성에 액세스 할 수 있습니다.

 

Node

노드에는 지정된 값과 매개 변수 데이터 출력에서 ​​다양한 계산 범위 수행에 이르기까지 많은 기능이 있습니다. 추가, 곱하기 또는 Lerp와 같은 값을 정의하는 대부분의 노드는 Float, Vector 3 또는 Color와 같은 다른 유형의 값을 출력하도록 수정할 수 있습니다. 

주석

- Groups 

- Sticky Notes

 

실습

VFX Graph 

*참고자료

perlin noise octave

blend 혼합(30: 37)

https://www.youtube.com/watch?v=KnueAgpUL3Y&t=5918s

photoshop blend modes cheat sheet

 

Reference

https://www.youtube.com/watch?v=PnPXrlIHkaU&feature=emb_logo

https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@7.3/manual/index.html

 

Visual Effect Graph | Visual Effect Graph | 7.3.1

Visual Effect Graph The Visual Effect Graph enables you to author visual effects using Node-based visual logic. You can use it for simple effects as well as very complex simulations. Unity stores Visual Effect Graphs in Visual Effect Assets that you can us

docs.unity3d.com

https://www.youtube.com/watch?v=q1sm20g8yqE

https://blogs.unity3d.com/2018/11/27/creating-explosive-visuals-with-the-visual-effect-graph/

 

Creating explosive visuals with the Visual Effect Graph비주얼 이펙트 그래프로 환상적인 비주얼 구현하기Visua

At Unite LA 2018 we unveiled the Visual Effect Graph, a tool for building real-time visual effects in Unity. The tool uses GPU run compute shaders, and a n...

blogs.unity3d.com

 

728x90
반응형

'Unity > 유니티 vfx 그래프' 카테고리의 다른 글

Vfx 그래프 GPU event  (0) 2021.08.09
유니티 vfxGraph 디버그 모드  (0) 2021.07.14
유니티 vfxGraph 포인트 캐쉬 생성하기  (0) 2021.07.13
vfx 그래프 샘플  (0) 2020.07.20
유니티 vfx 그래프 자료  (0) 2020.07.09
Comments