언리얼 - 나이아가라 파티클 위치 및 곡선(Arc) 제어과정



언리얼 - 나이아가라 파티클 위치 및 곡선(Arc) 제어과정

금별 0 970 2025.11.24 03:51

 


이 영상 핵심 주제는 "물리(Physics) 시뮬레이션에 의존하지 않고, 수식(Math)과 커브(Curve)를 사용하여 A 지점에서 B 지점으로 정확하게 꽂히는 곡선(Arc) 이동 이펙트 구현"입니다.
전체 작업 과정은 크게 기본 설정, 이동 로직(핵심), 트레일 및 디테일 설정으로 나뉩니다.

---

1. 렌더러 및 기본 스폰 설정 (Renderer & Spawn)
가장 먼저 파티클이 어떻게 보일지와 언제 생성될지를 정의합니다.

Renderer 구성:
Sprite Renderer: 발사체의 머리 부분(빛나는 구체)을 담당합니다.
Ribbon Renderer: 발사체가 지나간 자리에 남는 궤적(Trail)을 담당합니다. 리본을 사용하려면 파티클 ID가 지속되어야 하므로 설정에 주의가 필요합니다.
Spawn 설정:
지속적으로 나가는 것이 아니라 한 번에 발사되는 연출을 위해 `Spawn Rate` 대신 `Spawn Burst Instantaneous`를 사용합니다.
생성 개수(Spawn Count)를 설정하여 한 번에 몇 개의 발사체가 나갈지 정합니다.

2. 핵심 이동 로직: 위치 및 곡선 제어 (Position & Arc Logic)
이 영상에서 가장 중요한 부분입니다. 단순히 `Velocity(속도)`와 `Gravity(중력)`를 줘서 날리는 방식은 목표 지점에 정확히 떨어지게 하기 어렵습니다. 따라서 선형 보간(Lerp)과 커브를 이용한 수식으로 위치를 직접 제어합니다.

스크래치 패드(Scratch Pad) 활용: 나이아가라 내에서 커스텀 모듈(스크립트)을 작성합니다.
Lerp (선형 보간) 이동:
시작점(Start Point)과 도착점(End Point) 변수를 만듭니다.
파티클의 수명 주기(`Normalized Age`, 0~1 사이 값)를 `Alpha` 값으로 사용하여, 시간이 지남에 따라 시작점에서 도착점으로 직선 이동하게 만듭니다.
수식: `CurrentPosition = Lerp(Start, End, Age)`
곡선(Arc) 추가:
직선 이동에 위쪽 방향(Up Vector)으로의 오프셋(Offset)을 더해줍니다.
이때 커브(Curve) 또는 Sine 함수를 사용하여, 시작과 끝에서는 0이고 중간에서 가장 높이 솟아오르는 값을 만들어줍니다.
결과적으로 파티클은 무지개처럼 둥근 궤적을 그리며 이동하게 됩니다.

3. 회전 및 방향 정렬 (Orientation)
파티클이 곡선으로 이동할 때, 머리 부분이 진행 방향을 바라보게 해야 자연스럽습니다.

Update Mesh Orientation (또는 Sprite Rotation):
파티클의 Velocity(속도) 벡터를 계산하거나, 이전 프레임 위치와 현재 위치의 차이를 이용해 진행 방향 벡터를 구합니다.
이 벡터를 기준으로 스프라이트나 메쉬의 회전을 정렬(Align)시켜, 발사체가 진행 방향으로 뚫고 나가는 듯한 모습을 만듭니다.

4. 변수 제어 및 폴리싱 (Variables & Polish)
이펙트를 더 풍성하고 사용하기 쉽게 만듭니다.

User Parameters (사용자 변수):
시작점, 도착점, 곡선의 높이(Arc Height) 등을 `User Parameter`로 노출시킵니다.
이렇게 하면 레벨 에디터(Viewport) 상에서 이펙트 액터의 변수만 조절하여, 몬스터가 쏘는 위치나 타겟 위치를 실시간으로 바꿀 수 있습니다.
Color & Scale Curve:
발사체가 생성될 때는 크고 밝게, 사라질 때는 작고 희미하게 변하도록 `Scale Alpha`나 `Color` 모듈에 커브를 적용합니다.
Ribbon Width:
트레일(리본)의 꼬리 부분이 자연스럽게 얇아지도록 리본 폭(Width)도 커브로 제어합니다.

---

요약 및 활용 포인트

이 튜토리얼의 방식은 "유도 미사일"이나 "마법 화살"처럼 목표물이 확정된 상태에서 날아가는 발사체를 만들 때 매우 유용한 기법입니다.

장점: 물리 엔진을 쓰지 않으므로 성능이 가볍고, 100% 정확하게 타겟 위치에 도달함을 보장할 수 있습니다.
핵심 기술: `Scratch Pad`를 이용한 벡터 연산(Lerp)과, 이를 시각적으로 제어하기 위한 `Curve` 활용 능력이 핵심입니다.


 

 

 

 

 

 

 

에반 언리얼5 이펙트 그룹과정[12월 시작] : 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


번호 포토 분류 제목 글쓴이 날짜 조회
1350 언리얼4 Buff Heal Shield in Unreal Engine 5 Niagara ashif 16:44 5
1349 언리얼4 Blazing Ring in Unreal Engine 5 Niagara ashif 15:16 8
1348 언리얼4 Beam Spell in Unreal Engine 5 Niagara ashif 06.19 24
1347 언리얼4 Azure Beam in Unreal Engine 5 Niagara ashif 06.19 26
1346 언리얼4 Shadow Aura in Unreal Engine 5 Niagara ashif 06.18 53
1345 언리얼4 Attack Ice AOE in Unreal Engine 5 Niagara ashif 06.18 46
1344 언리얼4 언리얼 - 사실적인 데칼 균열 제작과정(한글자막) 금별 06.01 251
1343 언리얼4 언리얼 - 물결 형태 텍스쳐 트랜지션 효과 제작과정(한글자막) 금별 06.01 233
1342 언리얼4 언리얼 - Niagara에서 정적 메시를 사용하여 사용자 지정 파티클 모양 만들기 금별 05.17 311
1341 언리얼4 언리얼 - 포스트 프로세스 2D 페이지 넘김 효과 머트리얼 예제 금별 05.17 268
1340 언리얼4 언리얼 - AI 활용 블랙홀 셰이더를 업그레이드(한글자더빙) 금별 05.17 280
1339 유니티 유니티 - 호박(Amber) 셰이더 제작과정(한글자막) 금별 05.12 287
1338 언리얼4 언리얼 - HLSL 심층 설명 4_레이마칭 활용 평면정사각형 메시 3D 구체로 변형 금별 05.12 292
1337 언리얼4 언리얼 - HLSL 심층 설명 4 -UV 좌표를 레이어로 반복 쌓아 깊이감 있는 오목볼록 효과 구현(한글자막) 금별 05.06 351
1336 언리얼4 언리얼 - HLSL 심층 설명 3 -큰 원의 궤적을 따라 작은 원 배치효과(한글자막) 금별 05.06 306
1335 언리얼4 언리얼 - HLSL 심층 설명 2 -원형(Circle) 기반 쉐이더를 구현(한글자막) 금별 05.06 334
1334 언리얼4 언리얼 - HLSL 심층 설명 1 - 그라데이션 변화 도구 구현(한글자막) 금별 05.06 352
1333 언리얼4 언리얼 - 03 나이아가라 트레일 매직 매트릭스_1단계 - 스트립 방출 금별 05.04 356
1332 언리얼4 언리얼 - 02 나이아가라 트레일 매직 매트릭스_2단계 -스트립 트리거 매트릭스 금별 05.04 289
1331 언리얼4 언리얼 - 02 나이아가라 트레일 매직 매트릭스_1단계 - 스트립 방출 금별 05.04 323
1330 언리얼4 언리얼 - 01 나이아가라 트레일 매직 매트릭스_2단계 - 스트립 트리거 매트릭스 금별 05.04 306
1329 언리얼4 언리얼 - 01 나이아가라 트레일 매직 매트릭스_1단계 - 스트립 방출 금별 05.04 293

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand