-
VFX, 전류 Trail 구현하기Unity/제로부터 Effect 2023. 11. 29. 20:56728x90
오늘 구현
전류 trail 구현하기.
Visual Effect Subgraph Operator 생성. (Random Direction 노드 만들기)
- ParticleId를 시드로 사용해 랜덤한 위치값을 생성하기위해 노드 생성합니다.
- 단위원 안에 랜덤한 세타값을 가져와 싸인, 코싸인으로 Vector2 값을 설정합니다
- z축 설정과 함께 particle들을 안쪽으로 좀더 밀집시켜 줍니다.
- 2번과 3번을 이용해 Vector3 값을 만들어준 뒤 이 값을 반환해줍니다
Visual Effect Graph 생성
파티클 세팅하기.
- Set Target Position 으로 랜덤한 위치까지 파티클이 이동 하도록 합니다.
- 랜덤한 백터값과 y축 벡터가 만드는 평면의 수직을 구한뒤 Normalize 해준 값을 Set Custom Attribute로 particle의 vector3 값으로 설정해 줍니다.(Cross Product)
- Set Lifetime Random from Curve 로 particle의 수명을 랜덤하게 설정해줍니다.
Update Particle 설정
- Rotate 3D 노드를 만들어 주고 particle의 현재위치를 설정해 줍니다.
- 회전 중심을 기준으로 위치를 지정하고, 어떤 축을 기준으로 회전을 할지 설정한 뒤 입자 시스템의 수명시간과 원주율을 곱한 값을 회전 각도로 사용해 줍니다.
- Position : 회전 중심을 기준으로 파티클의 위치
- Position center : 회전의 중심
- Rotation Axis : 회전 축
- Angle : 회전 각도
- 회전 중심을 기준으로 위치를 지정하고, 어떤 축을 기준으로 회전을 할지 설정한 뒤 입자 시스템의 수명시간과 원주율을 곱한 값을 회전 각도로 사용해 줍니다.
- Multiply Position을 추가하고 랜덤한 값을 곱해 줍니다.
- Multiply Position을 하나더 추가해 transform 변수를 만들어 scale(1,1,1) 값을 곱해줍니다. (가운데 너무 뭉쳐 있어서)
- Trigger Event Rate(Over time) 를 만들어줍니다. 이 노드를 이용해 이벤트에 사용할 이펙트를 설정해 줄 수 있습니다.
- Output Particle Point를 추가하면 해당 파티클이 어떻게 움직이는지 확인할 수 있습니다.
GPUEvent
위에서 만든 Trigger Event Rate(Over time) 노드에 연결해 줍니다.
- Initialize Particle Strip 컨텍스트를 추가해주고 파티클의 포지션과 알파값을 상속 시켜줍니다. (부모 파티클은 Trigger Evenet Rate가 들어가있는 컨텍스트인 Initialize Particle)
- 파티클의 수명을 랜덤하게 생성해줍니다.
- 생성된 파티클의 타겟위치를 현재위치로 설정해준뒤 Add Target Position을 0,0,0 으로 설정해줍니다.
- Set Color over Life 로 파티클의 색상을 적절하게 조절해 줍니다.
Update Particle Strip
- 파티클의 포지션을 targetPosition 으로 업데이트 해줍니다.
- Set Size Random from Curve 로 사이즈 조절을 해줍니다.
- Add Position을 만들어주고 Perlin Curl Noise 3D로 노이즈를 만들어 연결해 줍니다.
Output ParticleStrip Quad
- Orient:Face Camera Position
- Set Alpha over Life
완성
728x90'Unity > 제로부터 Effect' 카테고리의 다른 글
Disintegrate Enemy Effect(Shader+VFX) (0) 2024.01.06 Electricity (Shader + Visual Effect) (0) 2023.12.28 TrailShader 만들기 (1) 2023.11.23 VFX Graph - Arrow Projectile (0) 2023.11.20 Shader Graph - Fire+smoke (0) 2023.11.17