VFX가 기존 파티클 시스템 보다 항상 우위에 있다는 식의 글을 몇 번 본 적이 있어서. 유니티 공식자료를 나름대로 최대한 객관적으로 정리해 보는 포스팅입니다.
VFX, 슈라켄 뭐가 다른가?
마지막에 리스트형식으로 다시 한번 정리하겠지만, 제일 큰 차이점은 아무래도 슈라켄(파티클시스템)은 CPU를 거쳐서 GPU에게 파티클을 그리도록 요청합니다. VFX는 GPU에게 직접 요청합니다. 여기서 흔히 말하는 VFX를 사용하는 것의 장점들이 파생된다고 할 수 있습니다.
VFX의 장점
이로 인해서 파티클 시스템은 무리하게 파티클을 생성할 수가 없습니다. 당연히 오버헤드가 어마어마하게 발생하니까요.. 반면에 VFX Graph는 직접적으로 접근할 수 있기 때문에 수백만 개의 파티클을 생성하는 것에도 큰 무리가 없습니다. GPU로 직접 커뮤니케이션 함으로써 병렬컴퓨팅이 가능 해지기 때문입니다.
또한 쉐이더 프로퍼티도 기본적으로 접근이 가능합니다. 근데 사실 파티클시스템도 쉐이더 프로퍼티에 접근하는 건 쉽습니다. 조금 더 쉽고 간단하게 접근할 수 있다는 장점이라고 하겠습니다.
이외에도 데칼 셋업이 매우 쉽고, HDRP에서는 열왜곡 현상도 쉽게 지원하며, 파라미터 커스터마이징도 쉬울뿐더러 모듈화도 쉬워서 다른 프로젝트에도 가져다 쓰기 쉽습니다.
VFX의 단점
그렇다면 VFX단점은 뭐가 있을까요?
2023 기준으로, VFX는 콜리젼 디텍션(Collision Detection)에서 물리연산을 지원하지 않습니다. 그럼에도 불구하고 어찌어찌 이용한다고 치더라도 슈라켄보다 훨씬 쓰기 까다롭습니다. 또한 슈라켄은 라이팅 생성과 컨트롤도 매우 쉬운 반면 VFX에선 못합니다.. ㅎㅎ. 또한 슈라켄은 콜라이더 관련 물리연산도 어느 정도 잘 지원해주고 있습니다. 다만 이 부분을 VFX 사용의 치명적인 단점으로 꼽기는 어려운 게, Vfx에서는 콜리젼 디텍션과 라이팅을 굳이 안써도 되거든요.
제 기준 제일 치명적인 단점은 VFX은 저사양 모바일에 최적화 되지 않았다는 점 입니다. 물론 유니티에서도 계속 저사양 플랫폼에서 사용할 수 있도록 노력(?) 중입니다. 파티클 시스템은 대부분의 경우 성능 부담없이 모바일, PC, 콘솔 모든 플랫폼에서 작동합니다. 근데 VFX 모바일에서만 동작합니다. 심지어 모든 모바일도 아닙니다..ㅎㅎ 즉 매우 제한적입니다. 마지막으로 파티클시스템에 비해 워크플로우가 상당히 느리다는 단점 또한 꼽을 수 있겠습니다.
정리 및 마치며
이렇게 VFX 장점과 단점을 나름 명확하고 객관적으로 정리해보려고 했습니다. 저는 개인적으로 소규모 프로젝트라면 파티클 시스템을 쓰는 것이 좋다고 생각하긴 합니다. 플랫폼 걱정도 일단은 필요가 없고요. 타깃플랫폼에서 확실히 돌아가고, 시간을 많이 투자할 여유가 있는 프로젝트에서는 VFX 그래프를 과감하게 사용해도 되겠지만요.
- VFX graph 장점
- GPU에게 직접 연산 요청한다
- 수백만 개 파티클을 생성하는데 무리 없다.
- 병렬컴퓨팅이 가능하다.
- 쉐이더 프로퍼티에 접근하는 게 더 쉽다
- 데칼 셋업도 쉽다
- HDRP에서는 열 왜곡효과도 쉽게 할 수 있다.
- 파라미터 커스터마이징도 쉽다.
- 모듈화도 쉬워서 다른 프로젝트에 금방 적용하다
- VFX graph 단점
- 물리 콜라이더 관련 지원 안 한다.. 라이팅도 컨트롤 하기 힘들다.
근데 Vfx에서 굳이 안 써서 큰 상관은 없다. - 저사양 모바일을 위한 플랫폼에서 지원하질 않는다.
- 워크플로우가 파티클 시스템에 비해서는 상당히 느리다
- 물리 콜라이더 관련 지원 안 한다.. 라이팅도 컨트롤 하기 힘들다.
#출처 : 유니티 코리아