프로그래밍 농장

VFX 응용(기초) [Unity] 본문

Unity

VFX 응용(기초) [Unity]

Tennessee201 2022. 10. 14.
728x90

이번 포스팅에서는 기존 학습하였던 VFX를 활용하여 간단하고 다양한 이펙트를 구현해보는 내용을 작성하겠습니다 ..


아래는 게임이펙트를 주로 다루는 커뮤니티에서 퍼온 포스팅중 일부이다. 기본적인 게임에서의 VFX를 활용한 이펙트 구현방식 , 개념 등을 쉽게 이해할수있으니 참조하면 좋을것같다. 

 

유니티 - VFX 및 게임 개발에 유용한 5가지 셰이더 그래프 [유니티, 셰이더 그래프]

1 질감의 강도 조절 2 불투명도 조절 3 뎊스(깊이) 페이드 오브젝트 4 Vertices Offset(정점 오프셋) 5 노이즈 텍스처가 있는 디졸브(분해되는) 오브젝트 아래링크참조 https://paulinavfx.com/5-useful-shade

mingtyyy.cafe24.com

 


그러면 간단한 이펙트부터 만들어보며 설명을 진행하도록 하겠습니다. 

 

새 프로젝트 생성(3D URP) -> Package Manager에서 Visual Effect Graph import

이후 아래와 같이 Create -> Visual Effect Graph 생성하여 구성을 확인할수있다. 

Visual Effect Graph


Inspector 구성은 아래와 같다. 파티클에 관련된 설정을 주로 관리해주는 부분이다. / Prioty . .  등


생성한 vfx를 씬에 끌어다 놓으면 아래와 같이 파티클을 확인할수있으며 Rate 100기준 1배속이라고 보면된다. 

혹시 파티클이 정상적으로 보이지않거나 vfx에서 에러가 발생한다면,

Edit -> VFX -> Rebuild and Save VFX Graphs를 눌러 재실행해주면 해결된다. 


아래와 같이 vfx graph를 열어서 파티클의 속성( 가령 Color. .)들을 바꾸어줄수있다. 

기존 쉐이더 그래프 .. 등과 같은 비주얼스크립팅(GUI)방식이며 아래의 경우 Set Color 를 Initial Particle에서도 설정해줄수있고, 최종 출력단계 (Output Particle Quad)에서도 지정해줄수있다.

이때 각 부분의 차이는 최종결과물에 설정을 덮어주느냐, 또는 작업과정에서 설정을 입혀주느냐의 차이이다. 

또한 아래와 같이 파티클의 Texture를 교체해줄수도있다.

Output Particle Quad의 설정을 일부 수정한 결과물


아래와 같이 Velocity에 비례한 파티클의 길이(Length)를 잡아주도록 구현한 과정이다. 

속도가 빠를수록 멀리 뻗어가는 방식으로 구현한 결과물         (파티클도 더 얇게 수정)


이번에는 아래와 같이 생성되는 파티클의 개수를 증가시켜서 더 화려한 이펙트를 구현해보았다.


Update Particle에서 Vector Field Force설정을 잡아주면(Drag, Intensity . .) 아래와 같이 그래픽카드를 괴롭힐수있다 .. 


아래는 Tublance(난기류) 블럭을 추가해준 모습이다. 실제 오로라 ,난기류처럼 사방으로 뻗어나가는 모습을 확인할수있다.

 

아래와 같이 Sphere기준 Suface(표면)밖으로 랜덤하게 뻗어가는 듯한 느낌을 줄 수도있다. 


아래와 같이 Coll Transform을 잡아주어서 겹치거나 콜라이더에 접촉할시 이를 피해서 생성되도록 구현하면 아래와 같은 결과물을 낼수도 있다. 

스피어의 랜더링만 지워주면 될것이다 !
대충 이런느낌을 구현해보고자 했다


이번엔 Friction값을 적용해서 아래와 같이 빛반사와 같은 파티클을 구현하였다. 

 


파티클 이펙트가 카메라시점에서만 보이는 것이아니라 3D 형식으로 구현되어있다는것을 확인할수있다.

 

이렇게 유니티 VFX에 대한 간단한 설명과 함께 그럴듯한 이펙트를 만들어보았습니다. VFX 및 게임이펙트에 대한 개념과 설명은 추후 포스팅에서 더 깊이 있게 다뤄보도록 하겠습니다 .

728x90