VFX 그래프를 이용해서 포탈 워프 효과를 만들어보았다.

VFX 그래프

Package Manager에서 Shader Graph를 미리 다운로드 받는다.
유니티6 URP 기준으로 이미 있는 상태였다.

Project 창 우클릭 → Create → Visual Effects → Visual Effect Graph 를 생성한다.









| Spawn | Constant Spawn Rate |
| Initialize Particle | Lifetime |
| Position Shape | |
| Update Particle | Attractor Shape Sphere |
| Output Particle | Orient |
| Set Size | |
| Set Size Over Life | |
| Set Color | |
| Set Scale |
설정할 게 많아서 스크린샷으로 대체했다.
참고로 VFX 그래프는 Visual Effects Graph 라는 뜻이다.


프로퍼티로 Color를 추가하고 Color와 연결하고 Color Over Life의 Composition을 Multiply로 바꾼다
Composition이 OverWrite로 설정되어 있으면 덮어쓰기로 설정되어 있어 입자의 색상이 변하지 않는다.


컬러를 흰색으로 설정하면 씬 창과 게임 창에서 각각 이렇게 보인다.
워프 하는 듯한 느낌을 줄 수 있도록 카메라의 위치는 끝에 두면 된다.


WarpAmount 프로퍼티를 만들고 Spawn Rate와 연결하여 스폰율을 조절할 수 있도록 한다.
이에 맞춰 Shape Sphere와도 연결해서 스피드와 힘도 조절한다.
블렌더

블렌더에서 간단하게 원뿔을 만들 것이다.
추가 → 메쉬 → 실린더를 클릭하여 실린더 메쉬를 만든다.

에디트 모드로 바꿔서 페이스를 선택하고 Delete 키를 눌러서 페이스만 삭제한다.
실린더의 위아래 페이스를 모두 삭제하면 된다.



Z키를 눌러 와이어 프레임으로 표시하고, 실린더의 아랫 부분을 드래그하여 선택하고, S키로 아랫 부분을 줄인다.


에디트 모드 창을 옆으로 밀어서 UV 에디터를 켜고, 실린더에 Tab 키를 누르고 A키를 누른다.

UV 동기화를 선택하고 이미지 경계에 제약에 체크한다.


UV의 아랫 부분을 드래그해서 G키로 늘린다.

우클릭해서 세이드 스무스를 누르고 파일을 저장한다.
이렇게 하면 표면이 더 매끈하게 만들어진다.

블렌더 파일을 불러와서 WarpVFX 안에 넣고 크기를 맞춘다.
셰이더 그래프

Create → Shader Graph → URP → Unlit Shader Graph를 추가한다.
이 셰이더 그래프로 머티리얼을 만들고 실린더에 적용한다.

Shader Graph를 Transparent로 투명하게 하고, Additive로 해서 빛나는 효과를 주고, Both로 해서 양쪽 모두 렌더링 되도록 한다.


Color, MainTex 프로퍼티를 추가하여 Default Value를 설정하고, 실린더의 머티리얼에서 MainTex를 선택한다.
컬러와 메인 텍스처를 머티리얼에서 바꿀 수 있다.

MainTexSpeed 프로퍼티를 추가하고 Time과 곱해서 UV와 연결한다.
이 스피드의 값이 커질수록 빠르게 움직이는 효과를 줄 수 있다.

Dissolve 프로퍼티를 추가하고 Power와 Color를 곱해서 Base Color와 연결한다.
이 제어값이 작을수록 빛이 강해진다.

마지막으로 Active 프로퍼티를 추가하고, Multiply 노드를 추가해서 연결한다.
이 값이 0에 가까울수록 활성화가 덜 된다.

'유니티' 카테고리의 다른 글
| [유니티] 뒤끝 서버 AAR 오류 해결 (0) | 2025.04.17 |
|---|---|
| [유니티] 애니메이션 리타겟팅 (여러 애니메이션 돌려쓰기) (1) | 2025.03.29 |
| [유니티] UI에 카메라 화면 렌더링 (Render Texture, Raw Image) (0) | 2025.03.28 |
| [유니티] Time Line (타임 라인) (0) | 2025.03.27 |
| [유니티6] 새로운 Input System (0) | 2025.03.26 |