이펙트아카데미 특강/외주/커뮤니티
언리얼 - 나이아가라 파티클 패스 애니메이션 제작팁파트 1. VFX 기술 심층 요약
1. 영상 주제 및 학습 목표
- 주제는 Unreal Engine의 Niagara 파티클 시스템을 활용한 스플라인 컴포넌트 기반 경로 애니메이션 구현으로, 스플라인의 총 길이를 0에서 1의 거리 비율로 샘플링하여 파티클 위치를 동적으로 제어하는 기술이다. 구현 목적은 파티클이 임의의 곡선 경로를 따라 부드럽게 이동하도록 하여 총알, 화살표, 트레일 등의 현실적 운동 효과를 창출하는 데 있으며, 이는 레벨 시퀀스(Level Sequence)와 연동되어 시네마틱 데모나 게임 내 동적 VFX에 적용 가능하다. 학습 목표는 스플라인 샘플링의 균일성 보장, 애니메이션 커브를 통한 속도 리듬 조절, 속도 벡터 추출을 통한 방향 정렬 효과까지 확장하는 Niagara 모듈 체이닝 기술을 마스터하는 것이다.
2. 전체 제작 프로세스 상세 단계
- Niagara 시스템 생성: '직접 예제 운동' 이름으로 새 시스템 만들고, 불필요한 플래시와 초기 모듈 제거 후 Emitter 업데이트 섹션에 스플라인 컴포넌트 인터페이스와 '거리 비율로 스플라인 샘플링' 모듈 추가하여 파티클 위치를 스플라인 샘플링 출력으로 연결.
- 스플라인 컴포넌트 블루프린트 설정: 액터 블루프린트에 Spline Component 추가, Alt+드래그로 포인트 생성 및 위치 조정 후 컴파일하여 런타임 경로 생성.
- 애니메이션 커브 적용: 샘플링 위치 입력에 0~1 범위의 Curve Float 연결, 파티클 수명(Lifespan)을 1로 설정하여 총 길이 비율에 따른 선형/비선형 이동 구현.
- 레벨 시퀀스 연동: Niagara Emitter를 Level Sequence에 추가하고 트랙 생성으로 재생 제어, 커브 편집으로 초기 빠른 후 느린 리듬 효과 최적화.
- 트레일 Emitter 추가: 최소 Emitter 복사 후 'Head'로 명명된 메인 Emitter 참조, Strip 렌더러로 전환하고 너비 10~20, 파티클 수 100, Lifespan 0.5 설정으로 트레일 형태화.
- 속도 벡터 계산 및 정렬: '이전 프레임 위치' 모듈 추가 후 현재 위치에서 이전 위치 뺀 델타를 속도로 할당, Velocity Alignment로 화살표 방향을 경로 접선에 맞춤.
- 다중 효과 복제: Emitter 복사 후 위치/경로 조정, 레벨 시퀀스 내 복제로 지연 효과 구현.
-------------------------
파트 2. 시간대별 주요 흐름 요약
- [00:00] Niagara 예제 시스템으로 경로 애니메이션 소개, 스플라인 샘플링 후 애니메이션 커브 생성 원리 설명.
- [00:29] 새 Niagara 시스템 '직접 예제 운동' 생성, 불필요 모듈(플래시 등) 제거 후 Emitter에서 직접 예제 발사.
- [00:56] Emitter 업데이트에 스플라인 컴포넌트 인터페이스와 '거리 비율로 스플라인 샘플링' 모듈 추가.
- [01:28] 스플라인 총 길이를 0~1 비율로 간주, 입력 비율(0:시작, 0.5:중간)에 따라 균일 샘플링 위치 출력 설명.
- [03:22] 샘플링 위치 입력에 Float Curve(0~1) 연결, 파티클 위치 출력으로 경로 애니메이션 테스트.
- [04:18] 블루프린트에 Spline Component 추가, Alt+드래그로 포인트 생성 및 위치 드래그로 경로 배치.
- [05:51] Niagara에 Curve 연결 후 수명 1 설정, 레벨 시퀀스 추가로 애니메이션 재생 확인 및 커브 리듬 조정.
- [08:05] 트레일용 최소 Emitter 추가, 'Head' Emitter 참조 후 Strip 렌더러로 너비 10~20, 파티클 수 100, Lifespan 0.5 설정.
- [10:18] 화살표 효과 위해 크기 확대, 속도 부재 문제 해결을 위해 이전 프레임 위치 모듈 추가 및 델타 계산으로 속도 벡터 생성.
- [12:32] 속도 정렬(Velocity Alignment) 적용으로 화살표가 경로 접선 방향 따라 회전, 크기 200/100으로 뾰족함 조정.
- [13:26] Emitter 복제 및 경로 위치 조정으로 다중 효과 생성, 레벨 시퀀스 내 복제로 지연 구현.
-------------------------
파트 3. AI 기술 첨언 및 피드백
- 기술적 보완 제안: 스플라인 샘플링 시 GPU Compute Shader를 활용해 대량 파티클(10k+) 처리로 성능 최적화, 노이즈 힘(200) 외에 Curl Noise를 속도 벡터에 곱해 자연스러운 곡선 왜곡 추가, LOD 시스템으로 원거리에서 Strip 너비 자동 축소하여 Draw Call 감소.
- 학습 포인트 피드백: 스플라인 거리 비율 샘플링과 이전 프레임 델타 속도 계산의 체이닝이 핵심으로, 이는 위치 기반 애니메이션에서 속도/방향 유도하는 Niagara의 선언적 파이프라인 이해를 요구하며, 커브 편집 실습을 통해 비선형 리듬(초기 가속-후 감속) 설계 역량 강화.
-------------------------
파트 4. 핵심 기술 용어 및 파라미터 사전
- 주요 기술 용어 해설
1. 스플라인 컴포넌트(Spline Component) - Unreal Engine의 곡선 경로 생성 컴포넌트로, 다중 포인트 연결로 임의 곡선 형성하며 Niagara 인터페이스를 통해 총 길이를 0~1 비율로 정규화 샘플링, 파티클 위치 입력으로 경로 애니메이션 기반 제공.
2. 거리 비율 샘플링 - 스플라인 총 길이를 기준으로 0(시작)~1(끝) 입력값에 비례한 균일 위치 추출 기능으로, 포인트 간격 불균일에도 일정한 속도 분포 보장하여 파티클 이동의 안정적 애니메이션 구현.
3. 이전 프레임 위치(Previous Frame Position) - Niagara 모듈로 직전 프레임 파티클 위치 저장, 현재 위치 뺄셈으로 속도 벡터(델타) 계산에 필수적이며 위치 오프셋만 있는 경로 애니메이션에서 방향 정렬(Velocity Alignment) 기반 효과 생성.
4. Velocity Alignment - 파티클 속도 벡터를 기준으로 스프라이트/메시 방향 자동 회전 기능, 스플라인 샘플링 속도 델타 적용 시 경로 접선 추종으로 화살표/총알 같은 동적 방향성 VFX 실현.
- 파라미터 수치 설정 이유
1. 수명(Lifespan) 1 - 스플라인 총 길이 비율(0~1)과 동기화하여 한 사이클 완주 보장, 커브 입력과 연동 시 리듬 변형에도 경로 전체 커버로 불완전 이동 방지.
2. 너비(Width) 10~20 - Strip 트레일의 시각적 가늘기 유지로 메인 경로(Head)와 구분, 파티클 수 100과 결합 시 밀도 균일화하며 과도한 너비(50+) 시 블러밍 과다로 경로 왜곡 방지.
3. 노이즈 힘(Noise Strength) 200 - 트레일의 자연스러운 요동 부여로 직선적 경로의 단조로움 해소, 10~100 범위는 미세 변형, 200은 명확한 곡선 왜곡으로 현실적 운동 궤적 시뮬레이션 의도.
4. 파티클 수 100 - 트레일 밀도 최적화로 GPU 부하 최소화하면서 연속성 확보, Lifespan 0.5와 곱해 지속 시간 제어하며 1000+ 시 성능 저하 유발 방지.
에반 언리얼5 이펙트 그룹과정[26년초 시작] : https://cafe.naver.com/unrealfx/20727
KUPAFX Stylized 유니티 이펙트 취업과정 : https://cafe.naver.com/unrealfx/21249
트리키 언리얼+후디니 활용 게임 VFX 연출과정 : https://cafe.naver.com/unrealfx/25629
max님의 쌩기초 메쉬활용 이펙트과정 1달특강 : https://cafe.naver.com/unrealfx/24469
eVan텍스쳐 단품과정 : https://cafe.naver.com/unrealfx/24468
rak 유니티 UI연출이펙트 : https://gamefx.co.kr/bbs/page.php?hid=Rak_intro
나이아가라, 경로애니메이션, 스플라인컴포넌트, 거리비율샘플링, 트레일이펙트, 속도정렬, 이전프레임위치, 레벨시퀀스, 벨로시티얼라인먼트, 언리얼VFX