언리얼5 - 나이아가라는 입자를 나선형으로 움직이며 타깃에게 공격방법(한글자막)



언리얼5 - 나이아가라는 입자를 나선형으로 움직이며 타깃에게 공격방법(한글자막)

금별 0 12 03.22 23:51



 

 

파트 1. VFX 기술 심층 요약

 

1. 영상 주제 및 학습 목표

- 원주 운동 파티클 시스템에서 반경이 점점 작아지며 특정 시간(예: 1초) 또는 위치에 도달할 때 파티클을 방향성으로 발사하는 기술 구현. 주 목적은 Niagara의 Custom Module을 활용해 파티클의 Age/Time 기반 Bool 조건으로 발사 타이밍을 정밀 제어하고, Position 오프셋을 매 프레임 더해 직선 운동(예: 3R 방향 공격)을 유발하는 것. 학습 목표는 파티클의 생명주기(Lifespan)와 인덱스(Index)를 연동한 순차 발사 제어로, Force 기반 자유 운동 대신 수동 Vector 추가로 예측 가능하고 제어 가능한 VFX 효과를 실무 수준으로 제작하는 역량 습득.

 

2. 전체 제작 프로세스 상세 단계

- 원주 운동 파티클의 Age 또는 Time을 Branch 노드로 특정 임계값(예: 1초) 이하로 비교해 Bool 값을 생성, 이를 Custom Module의 Output으로 외부 참조 가능하게 설정하여 발사 트리거로 활용.

- 참조된 Bool 값을 파티클 위치(Position) 변경 모듈에 연결, True 시 매 프레임 Vector Offset(예: X축 100)을 Position에 누적 더해 직선 방향 운동 구현.

- 파티클의 Lifespan에 랜덤 값(예: 2초 추가)을 적용해 운동 지속 시간 변화를 주어 자연스러운 퍼짐 효과 생성.

- 파티클 인덱스(Particle Index)를 활용한 지연 Emission 제어 시도, 전체 Rate 기반으로는 개별 제어가 불가능해 Custom Module 내 Index 비교 로직 연구 필요.

 

 

-------------------------

 

파트 2. 시간대별 주요 흐름 요약

 

- [00:03] 원주 운동 파티클의 반경이 점점 작아지는 상황에서 특정 위치 도달 시 파티클 발사 필요성 설명, Custom Module로 위치 설정 여부 판단 구현 시작.

- [00:29] 파티클 발사 구현을 위해 Custom Module 사용, 위치 완전 제어 강조하며 Force 사용 시 원점 고정으로 인한 제어 불필요성 언급.

- [00:46] 특정 값 도달 시 Bool로 제어 방법 제시, 파티클 모듈 내 각도 작성 시작.

- [00:58] Branch 노드 활용해 파티클 Age를 특정 값 이하로 비교하는 조건 로직 설명.

- [01:29] Branch에서 Age 사용 이유 설명, Age가 임계값 이하일 때 Float(Time) 입력으로 Bool 출력 생성.

- [02:21] Bool 값을 로컬에서 Output으로 변환해 외부 참조 가능하게 연결.

- [02:49] 시간 값을 1초로 설정하고 Set Bool 노드로 저장, 외부 참조 이름 지정(seti bool).

- [03:48] 실행 테스트 결과 1초 후 파티클 멈춤 확인.

- [04:09] 1초 후 멈춘 파티클을 3R 방향(왼쪽/오른쪽)으로 발사해 적 공격 효과 구현 아이디어 제시.

- [04:28] Custom Module로 파티클 Position 가져와 매 프레임 Vector 값(Offset) 더해 위치 변경.

- [05:02] Offset Vector를 X축 100으로 설정해 매 프레임 누적 운동 구현, Position 재설정으로 Progression 효과.

- [06:10] 문제점 지적: 모든 파티클 Lifespan 동일으로 인한 단조로움, 랜덤 값(2초 추가) 적용으로 지속 시간 변화.

- [07:01] 파티클 인덱스(0,1,2,3...) 활용해 순차 발사 제어 시도, 전체 Rate로는 개별 지연 불가.

- [08:47] 인덱스 기반 순차 제어 미구현 상태로 연구 과제 제안, 다음 편 원주 운동 상세 설명 예고.

 

 

-------------------------

 

파트 3. AI 기술 첨언 및 피드백

 

- 기술적 보완 제안: 파티클 인덱스 순차 발사를 위해 Custom Module 내 Particle Index를 modulo 연산으로 Delay Time에 매핑(예: Index 0.1초 지연), GPU Compute Shader 활용 시 대량 파티클에서도 성능 유지. Lifespan 랜덤화 시 Curve Editor로 가우시안 분포 적용해 과도한 퍼짐 방지, Position 오프셋에 Velocity 상속 추가로 원주 운동 모멘텀 보존.

- 학습 포인트 피드백: Custom Module의 Branch-Time-Bool-Output 체인과 매 프레임 Position 누적 로직을 가장 집중 습득, 이는 Niagara의 이벤트 기반 제어와 데이터 흐름 이해의 핵심으로 실무에서 복합 VFX(예: 궤도 후 미사일 발사) 제작 시 80% 재사용 가능.

 

 

-------------------------

 

파트 4. 핵심 기술 용어 및 파라미터 사전

 

- 주요 기술 용어 해설

 

1. Custom Module - Niagara 시스템의 사용자 정의 스크립트 모듈로, 표준 노드 외 복잡한 조건/연산 구현. 영상에서 Age/Time 비교 Bool 생성과 Position 오프셋 누적에 사용되어 파티클 발사 타이밍과 방향 운동을 정밀 제어.

2. Branch - 조건문 노드로 Bool 기반 분기 처리. 영상에서 파티클 Age가 특정 값 이하일 때 Time Float을 입력으로 받아 발사 트리거 생성, Force 의존 대신 수동 제어 가능하게 함.

3. Particle Index - 각 파티클의 고유 순서 번호(0,1,2...). 영상에서 순차 발사 지연 제어에 활용 제안되나 전체 Rate 한계로 미구현, 개별 지연 로직의 기반.

4. Lifespan - 파티클 생존 시간. 영상에서 랜덤화(2초 추가)로 동일 지속 문제 해결, 운동 후 Fade Out 자연화.

5. Offset Vector - 위치 이동 벡터. 영상에서 매 프레임 Position에 X축 100 더해 직선 운동 유발, Progression으로 누적 효과.

 

- 파라미터 수치 설정 이유

 

1. 1초 (Time 임계값) - 원주 운동 반경 축소 속도와 동기화해 중앙 도달 직후 발사 트리거, 너무 짧으면(0.5초) 미완성 궤도, 길면(2초) 에너지 상실로 효과 약화 방지.

2. 100 (X축 Offset) - 매 프레임(60FPS 기준 초당 6000 단위) 적당한 속도로 직선 발사 구현, 작으면(50) 느린 접근, 크면(200) 화면 이탈로 공격감 과도해 시각 균형 유지.

3. 2초 (Lifespan 랜덤 추가) - 기본 Lifespan에 변동성 부여해 단조로운 동시 소멸 방지, 가우시안 랜덤으로 자연 퍼짐(최대 4초 지속) 유발해 VFX 깊이 증대.

 

 

 

 



 

 

 

 

에반 언리얼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

Comments



Total 1,304 Posts, Now 1 Page


 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand