Search Unity

비주얼 이펙트 그래프를 사용한 풍부한 이펙트 연출

, 2월 21, 2020

비주얼 이펙트 그래프에 사용자의 피드백을 기반으로 새로운 기능과 수정 사항을 다수 반영하여, 이제 2019.3에서 HDRP(High Definition Render Pipeline, 고해상도 렌더 파이프라인)와 함께 정식 제작을 위해 사용할 수 있습니다. 이 노드 기반 에디터를 사용하면 풍부하고 멋진 이펙트를 연출할 수 있습니다.

비주얼 이펙트 그래프는 Unity의 차세대 비주얼 이펙트 솔루션으로, Unity의 스크립터블 렌더 파이프라인과 호환됩니다. 이 툴은 하이엔드 하드웨어(예: PC, PlayStation 4 및 Xbox One)를 타겟으로 하며 컴퓨팅 가능한 대부분의 기기에서 실행됩니다. 또한 HDRP를 사용하여 효율적으로 렌더링하며, 유니버설 렌더 파이프라인(Universal Render Pipeline)과도 호환됩니다. 기능 구현이 완료되면 이후 릴리스에서 검증됩니다. 시뮬레이션이 GPU에서 실행되므로 견고한 실시간 성능을 바탕으로 수백만 개의 시뮬레이션된 요소를 처리할 수 있습니다.

검증된 버전

비주얼 이펙트 그래프는 1년간 프리뷰 패키지로 제공되었으며 사용자 피드백을 기반으로 기능을 개선했습니다. 이 기간 동안 코드를 완성하고 소규모 실시간 제작 사례에서 비주얼 이펙트 그래프 사용법을 시연했습니다.

해당 코드는 더 헤러틱(The Heretic), 우주선(Spaceship) 데모, FPS 샘플 및 비주얼 이펙트 그래프 샘플 세트에서 사용되었습니다. 각 프로젝트에서 다양하고 실용적인 사용 사례를 참고하여 게임 제작에 대한 아이디어를 얻을 수 있습니다.

이제 비주얼 이펙트 그래프 패키지 7.2.0 버전의 프리뷰 단계가 종료되었으며 제작을 위한 검증도 마쳤습니다. 따라서 안정성이 보장되며, 플랫폼 지원 및 업그레이드 경로가 제공됩니다. 사용자는 프로젝트 데이터와 코드를 향후 비주얼 이펙트 그래프 버전으로 안전하게 옮길 수 있으며, 유니티는 이러한 기능을 지속적으로 개발하고 확장할 계획입니다.

여기에서 ‘검증’이란 비주얼 이펙트 그래프에 관련된 확장성 및 최적화 옵션, 다양한 아티스트 툴과 실용적인 사용 사례별 전략도 제공된다는 의미입니다. 계속되는 내용에서 비주얼 이펙트 그래프의 장점을 더욱 자세히 살펴보세요.

제작 워크플로

테크니컬 아티스트와 VFX 아티스트는 노드 기반 에디터를 사용하여 단순하고 일반적인 파티클 동작에서부터 파티클, 라인, 리본, 트레일 및 메시를 포함한 복잡한 시뮬레이션에 이르는 다양한 이펙트를 디자인할 수 있습니다. 시스템 및 시뮬레이션의 내부 메커니즘 대부분도 커스터마이즈 가능합니다. 아티스트는 커스텀 프로퍼티와 이벤트를 사용하여 복잡한 정규식 그래프를 만들 수 있습니다. VFX 그래프의 기본 메커니즘이 복잡도와 단순화된 컨트롤 생성을 모두 지원하므로, VFX 아티스트는 레벨 디자이너와 게임 프로그래머를 위한 이펙트 또는 다른 비주얼 이펙트 아티스트가 사용할 수 있는 빌딩 블록을 손쉽게 제작할 수 있습니다.

비주얼 이펙트 그래프는 에셋으로 보관되므로, 씬 전체에서 재사용할 수 있으며 프로퍼티 인터페이스에서 오버라이드를 통해 커스터마이즈할 수 있습니다. 또한 사전에 구성한 비주얼 이펙트의 여러 버전을 프리팹에 저장하여 이펙트의 배리언트 라이브러리를 만들 수 있으므로, 기본 그래프를 수정하여 최적화 및 기능 향상을 적용할 수 있습니다.

이 툴에 포함된 빌트인 기능 라이브러리는 Unity 향후 버전에서 개선할 예정입니다. 이 라이브러리는 가장 일반적인 경우를 다루지만, 그래프를 직접 작성하여 하위 그래프로 저장할 수도 있습니다. 반복적인 연산자 트리를 사용하여 유틸리티 연산자 하위 그래프(Operator Subgraph)에 묶거나 블록 및 연산자 집합을 묶어 블록 하위 그래프(Block Subgraph)를 만들 수 있습니다. 또한 다른 간단한 그래프로부터 온전한 이펙트를 만들어 마스터 그래프에 중첩시켜서 서로 상호작용하도록 할 수 있습니다(비주얼 이펙트 하위 그래프).

타임라인을 사용하여 비주얼 이펙트 이벤트를 배열하고 일반적인 애니메이션을 사용하여 프로퍼티를 애니메이션화할 수 있습니다. 애니메이션 트랙과도 호환되지만, 비주얼 이펙트 활성화 트랙을 추가하고 전용 클립을 사용하여 씬 내 이펙트 인스턴스에 커스텀 이벤트를 전송할 수도 있습니다.

PropertyBinders를 사용하여 노출된 프로퍼티를 다른 씬 요소와 동기화할 수도 있습니다. 이러한 소규모 스크립트는 노출된 프로퍼티(예: Sphere 프로퍼티)와 씬 요소(예: 스피어 콜라이더)를 바인딩하며, 올바르게 바인딩되면 프로퍼티가 다른 요소의 값에 따라 자동으로 애니메이션화됩니다. 프로퍼티 바인더는 다양한 유형으로 존재하며 씬 오브젝트, 콜라이더, 물리 레이캐스트, UI 및 사운드를 연결할 수 있습니다.

정적 지오메트리에 대한 디테일 수준(LOD)은 간단히 구현할 수 있지만, 비주얼 이펙트의 모든 디테일 수준은 보다 유연한 방식으로 조정해야 합니다. 렌더 카메라 프로퍼티에 액세스하고 정규식 그래프를 사용하면 이펙트의 속도, 크기 및 전체 성능 사용량을 제어하는 커스텀 동작을 정의할 수 있습니다.

또한 HDRP와 비주얼 이펙트 그래프를 함께 사용하면 표준 조명 모델에 비해 파티클 조명을 단순화할 수 있습니다. 렌더링에 많은 성능이 소요되는 이펙트를 저해상도로 렌더링하도록 설정하여 품질 손실을 최소화하고 렌더링의 효율을 극대화할 수 있습니다.

2019.3 새로운 기능

VFX 셰이더 그래프(프리뷰)

표준 파티클 렌더링 외에도 다양한 기능을 사용할 수 있도록 새로운 셰이더 그래프인VFX 셰이더 그래프를 추가했습니다. 이 특수 마스터 노드를 사용하면 아티스트가 비주얼 이펙트를 위한 전용 프래그먼트 셰이더를 작성할 수 있습니다. VFX 셰이더 그래프는 파티클 출력을 선택적으로 참조하여 빌트인 렌더링을 대체함으로써 아티스트가 자유롭게 아이디어를 펼칠 수 있도록 합니다. 노출된 셰이더 프로퍼티는 출력 컨텍스트에서 사용할 수 있는 새로운 포트가 되며, 파티클 속성을 이러한 프로퍼티에 연결할 수 있습니다.

VFX 셰이더 그래프는 현재 프리뷰 기능으로 제공되며 향후 릴리스에서 개선될 예정입니다.

파티클 스트립(프리뷰)

새로운 유형의 시뮬레이션 데이터인 파티클 스트립(Particle Strip)을 구현했습니다. 이 시뮬레이션 데이터는 서로 연결된 파티클 체인으로 구성되어 있으며, 쿼드 스트립 또는 라인으로 렌더링될 수 있습니다. 이 기능을 사용하면 GPU 이벤트를 사용하여 다른 파티클에 의해 유도되고 애니메이션화된 트레일을 만들 수 있습니다. 그러나 트레일의 모든 포인트는 독립적으로 변화하므로 바람, 힘, 터뷸런스를 적용할 수도 있습니다.

파티클 스트립은 VFX 셰이더 그래프와 함께 사용할 수 있습니다.

내부 시퀀싱: 루프와 지연

이제 내부 시퀀싱을 개선하기 위해 생성 컨텍스트를 반복하거나 지연시킬 수 있습니다. 이는 기본 시퀀싱 기능으로 생성 컨텍스트를 일정 시간 동안 실행하거나 지연 후에 수행되도록 할 수 있으며, 특정 시간 후에 중지 또는 반복되도록 설정할 수도 있습니다. 물론 새로 생성된 파티클도 이 컨텍스트의 생성 시간 속성에 액세스할 수 있습니다.

비주얼 이펙트 그래프 추가

비주얼 이펙트 그래프를 설치할 때 Import into Project 버튼을 클릭하여 추가 에셋을 사용할 수 있습니다. 이 패키지에는 프로젝트에서 재사용할 수 있는 플립북 텍스처, 예제 그래프, 셰이더 및 하위 그래프 세트가 포함되어 있습니다. 이러한 예시에서 아이디어를 얻어 프로젝트를 위한 자체 노드 및 블록 라이브러리를 직접 만들 수도 있습니다.

유니티는 VFX 셰이더 그래프 기능을 시작할 수 있도록 셰이더 그래프 하위 그래프를 제공하여 여러 가지 빌트인 동작을 재현했습니다. 이를 통해 컷, 선형 또는 모션 벡터로 플립북을 샘플링할 수 있습니다. 또한 소프트 파티클 헬퍼 하위 그래프(Soft Particle Helper Subgraph)도 제공합니다.

추가 샘플 패키지에는 이펙트 또는 이펙트 셰이더 그래프에 결합하여 사용할 수 있는 25개의 텍스처(CC0 라이선스)도 포함되어 있습니다.

실용적인 예시를 통한 학습

유니티 GitHub의 비주얼 이펙트 그래프 샘플 저장소에는 비주얼 이펙트 그래프의 다양한 사용 사례가 나와 있습니다. 단순하면서도 멋진 씬에서 비주얼 이펙트 그래프의 여러 기능을 살펴보세요.

제작 사용 사례에 대해 자세히 알아보려면 우주선 데모를 확인해보세요. 또한 최근 업데이트한 Spaceship Project repository(우주선 프로젝트 저장소)를 Unity 2019.3에서 확인하실 수 있습니다. 이 프로젝트는 개발자가 게임 제작 과정에서 자주 보게 되는 다양한 비주얼 이펙트를 이용해 고품질의 그래픽스를 구현하여 일관된 고성능 씬을 제작하는 방법을 보여줍니다. 데모는 PS4 일반 모델에서 30fps, 게이밍 PC에서 60fps 이상에 최적화되어 있으며 현실적인 게임 개발 환경을 반영하여 제작되었습니다.

지금 바로 시작하세요

비주얼 이펙트 그래프는 고해상도 렌더 파이프라인을 사용하는 모든 프로젝트에서 활용 가능하며, 유니버설 렌더 파이프라인(컴퓨팅 가능한 플랫폼)을 사용하는 프로젝트에도 별도로 설치할 수 있습니다. 그래프를 사용해보시고 유니티 포럼에서 의견을 공유해주세요.

7 replies on “비주얼 이펙트 그래프를 사용한 풍부한 이펙트 연출”

I posted it at unity forum but didn’t got a reply. Graph VFX keep crashing all macs I have tested. It does not crash Unity but it restart all the OS with fatal gpu error.
After enabling metal support (emulation) unity and graphs vfx get very unstable (not only the os restart but Unity UI get super buggy) Is there a way to fix it or is only available for pc developers?

Ran into this today also (MBP 16″). Everything ran well and good with the VFX Graph till I tried to add a new script – complete system hangup and had to force restart.

Thanks so much for the improvements! I’ve been loving playing around with the VFX graph, and my mind has been racing with the possibilities after reading over this blog post.

Veering off topic now: Is there an official way in the VFX graph to have particles react to one another? Like flocking, or repulsion if they get too close together? I’m dreaming about making some smoke effects that resemble fluid dynamics.

I was also looking for that how to react to one another. I asked google So I cant’find answer.
Please tell me answer or URL that write answer.

Comments are closed.