이펙트아카데미 특강/외주/커뮤니티
언리얼5 - 나이아가라 입자의 원형 운동을 수동으로 조작 방법(한글자막)
파트 1. VFX 기술 심층 요약
1. 영상 주제 및 학습 목표
- 영상 주제는 Unreal Engine의 Niagara 시스템에서 파티클의 커스텀 원주 운동(Circular Motion)을 구현하는 방법으로, sin과 cos 수학 함수를 활용한 커스텀 모듈을 통해 파티클이 원형 궤도를 따라 이동하도록 하는 기술이다. 구현 목적은 Niagara의 기본 원주 운동 노드를 사용하지 않고 수동으로 작성하여 세밀한 제어(반경, 주기, Z축 위치 등)를 가능하게 하며, 이는 복잡한 VFX 이펙트(예: 펄스나 링 효과)에서 자유로운 커스터마이징을 위해 필수적이다.
- 학습 목표는 파티클의 Age와 Lifetime을 기반으로 각도를 계산하고 sin/cos를 적용해 X/Y 위치를 동적으로 생성하는 원리를 이해하며, 이를 통해 파티클 시스템의 위치 업데이트 로직을 직접 제어하는 역량을 습득하는 것이다. 결과적으로 실무에서 요구사항에 맞춰 원형 운동을 변형(예: 반경 변화, 속도 조절)할 수 있다.
2. 전체 제작 프로세스 상세 단계
- Niagara 시스템에 새로운 Emitter(N1-Pulse01)를 추가하고, 발사 설정을 한 번만, 파티클 수 1개로 제한하여 테스트 환경 구축.
- 파티클 속성 설정: 크기 20, 수명 2초로 고정하여 운동 관찰 용이성 확보.
- 커스텀 모듈(mycir) 생성 후, 입력 파라미터로 반경(r, float), Age, Lifetime 정의.
- 각도 계산: Age / Lifetime 2 PI (주기성 값으로 곱함)로 원형 궤도 각도 생성, sin/cos 적용해 X = r cos(angle), Y = r sin(angle) 위치 벡터 구성.
- Break Node(분리 노드)로 위치 벡터 분해 후 X/Y에 sin/cos 결과 곱셈 적용, Z는 외부 입력(zOB)으로 제어.
- 위치 업데이트 모듈에 연결하여 파티클 위치 동적 할당, 파라미터(주기성 1, 반경 500, Z 0)로 테스트.
- 복제(Emitter 복사: rayB02)로 다중 원주 운동 확장, 커브나 랜덤 적용 예시로 변형 시연.
-------------------------
파트 2. 시간대별 주요 흐름 요약
- [00:04] 인사와 주제 소개: 커스텀 원주 운동 구현 방법 설명 시작, Niagara Emitter 설정 준비.
- [00:18] 기존 요소 비활성화: 두 개 요소 끄고 새로운 Emitter 추가 준비.
- [00:22] Emitter 추가 및 명명: N1-Pulse01 이름 지정.
- [00:42] 발사 설정: 한 번만 발사, 파티클 수 1개로 단순화하여 운동 테스트 용이.
- [00:50] 파티클 크기 조정: 10에서 20으로 확대, 시각적 확인 강화.
- [01:02] 수명 설정: 2초로 고정, 운동 주기 관찰 최적화.
- [01:17] 커스텀 모듈 추가: mycir 이름으로 모듈 생성, sin/cos 함수 기반 원주 운동 로직 설명.
- [02:26] sin/cos 노드 배치: Age/Lifetime으로 각도 계산, r sin/cos로 X/Y 위치 생성 원리 상세.
- [04:21] 주기성 파라미터 추가: 부정적 Float로 주기 제어, Break Node로 위치 분리.
- [05:06] 위치 설정 연결: X/Y에 sin/cos 결과 곱셈, Z 외부 제어(zOB).
- [07:30] 테스트 실행: 주기성 1, 반경 500, Z 0으로 원주 운동 확인.
- [08:36] Emitter 복제: rayB02 생성으로 다중 파티클 적용.
- [09:54] 파라미터 변형 테스트: 주기성 10(느림), 0(정지), 0.5(2회전), 0.1(고속)으로 동작 제어 시연.
- [10:31] 고급 변형: 반경 커브 적용으로 크기 변화, ID 랜덤으로 다중 파티클 효과.
- [11:25] 마무리: 나선형 운동 예고, 수동 구현의 세밀 제어 장점 강조.
-------------------------
파트 3. AI 기술 첨언 및 피드백
- 기술적 보완 제안: sin/cos 각도 계산 시 PI 상수를 명시적으로 곱해 정확성 높이고, 주기성 파라미터에 Curve Asset 연결로 비선형 속도 변화를 추가하면 더 자연스러운 운동(가속/감속)이 가능하다. 성능 최적화로 Custom Module 내 불필요한 노드(예: 중복 Break)를 GPU Compute Particle 사용 시 Simpler Collision으로 대체, 대량 파티클 시 LOD 설정 도입. Z축을 sin으로 변조하면 나선형 전환 용이.
- 학습 포인트 피드백: sin/cos 기반 위치 계산의 수학적 인과(각도 t → cos(t) X축, sin(t) Y축으로 직교 원형 생성)를 가장 집중 학습해야 하며, Age/Lifetime 정규화로 무한 반복 주기 보장 원리를 익히면 실무에서 임의 궤도(타원, 리스자그) 확장이 가능하다. Niagara 그래프의 입력/출력 연결 패턴을 반복 연습해 디버깅 속도 향상.
-------------------------
파트 4. 핵심 기술 용어 및 파라미터 사전
- 주요 기술 용어 해설
1. Emitter - Niagara 시스템의 파티클 발사기 역할로, 파티클 생성/초기화/업데이트를 관리하며 영상에서 N1-Pulse01로 한 번 발사 설정해 단일 파티클 원주 운동 테스트 기반 구축.
2. Custom Module(mycir) - 사용자 정의 스크립트 모듈로 sin/cos 로직을 캡슐화, 기본 노드 대신 사용해 위치 업데이트를 세밀 제어하며 재사용성 높임.
3. Sin/Cos 함수 - 삼각 함수로 각도 입력 시 Y/X 좌표 생성, Age/Lifetime 비율로 각도 계산해 파티클이 원형 궤도 순환하게 함.
4. Age/Lifetime - 파티클 생명 주기 변수, Age/Lifetime 정규화(0~1)로 주기적 각도 생성해 무한 원주 운동 구현.
5. Break Node(분리 노드) - Vector를 X/Y/Z 성분으로 분해하는 노드로, 위치 벡터 수정 시 X/Y만 sin/cos 곱셈 적용해 원형 제한.
6. 주기성(Cycle) - 각도 계산 배율 파라미터로, 값 1 시 1회전/수명, 0.5 시 2회전 등 속도 제어.
- 파라미터 수치 설정 이유
1. 파티클 크기 20 - 기본 1보다 확대해 시각적 확인 용이, 테스트 단계에서 운동 궤도 관찰을 위해 충분한 화면 비중 확보하며 실무 스케일링 기반.
2. 수명 2초 - 짧은 지속으로 반복 재생 시 즉시 피드백, Age/Lifetime 계산 안정화하며 주기 1 설정과 맞물려 정확한 1회전 검증.
3. 반경 500 - 월드 스케일에 적합한 크기로 원형 운동 가시화, 곱셈(sin/cos 출력 0~1 범위)으로 X/Y 최대 변위 제어해 과도한 이동 방지.
4. 주기성 1 - 표준 360도/1회전 기준으로 기본 동작 정의, 변형(0.5=2회전) 테스트 시 상대적 속도 인과관계 명확히 시연.
5. Z축 0 - 평면 원주 집중, 외부 입력으로 확장성 부여하며 3D 나선형 전환 준비.
에반 언리얼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