PART 3 · 강의 2/3

Ribbon 렌더러

파티클을 연결하는 띠(Strip) 형태의 렌더러로 트레일, 빔, 연기 궤적 등을 구현합니다.

01

Ribbon 렌더러 개념

파티클을 연결하는 연속 띠

Ribbon Renderer는 개별 파티클을 독립적으로 렌더링하는 대신, 파티클의 위치를 연결하여 연속적인 띠(Strip) 형태의 메시를 생성합니다. 검 궤적, 미사일 트레일, 연기 꼬리, 빛줄기 등의 이펙트에 필수적입니다.

Ribbon 기본 구성
Trail Emitter Emitter Update: Spawn Per Frame = 1 // 또는 Spawn Rate 사용 Particle Spawn: Initialize Particle Lifetime = 1.0 RibbonWidth = 20.0 // 리본 폭 Color = (1, 0.8, 0, 1) Particle Update: Particle State Scale Color // 페이드아웃 Scale Ribbon Width // 폭 감소 Render: Ribbon Renderer
Ribbon의 파티클 연결

Ribbon은 파티클의 생성 순서(Age)에 따라 자동으로 연결됩니다. 가장 최근에 생성된 파티클이 리본의 머리(Head)가 되고, 오래된 파티클이 꼬리(Tail)가 됩니다. Ribbon Link Order 바인딩으로 연결 순서를 커스터마이징할 수 있습니다.

02

Ribbon 주요 파라미터

Tessellation, UV, Facing 설정

카테고리 파라미터 설명
Tessellation Curve Tension 0~1. 0이면 직선, 1이면 Catmull-Rom 곡선. 기본 0.5.
Tessellation Factor 파티클 사이에 삽입되는 세그먼트 수. 높을수록 부드러움.
UV UV0 Settings UV 타일링/오프셋. Scale/Offset으로 텍스처 스크롤 가능.
UV0 Distribution Mode Scaled Uniformly, Tiled Over Ribbon Length, Tiled From Start Over Ribbon Length
UV1 Settings 두 번째 UV 채널. 복잡한 머티리얼에 활용.
Facing Facing Mode Screen(카메라 향함), Custom, Custom Side Vector
Twist 리본을 길이 방향으로 비틀기. Particles.RibbonTwist로 제어.
UV 스크롤 트레일 효과
Ribbon Renderer { UV0 Settings: Distribution: Tiled From Start Over Ribbon Length Tiling Distance: 100.0 // 100 유닛마다 UV 반복 Offset U: 0.0 Offset V: 0.0 // 머티리얼에서 UV를 시간으로 오프셋하면 흐르는 효과 // Material: TexCoord + (Time * ScrollSpeed, 0) }
03

트레일 이펙트 구현

이동하는 오브젝트의 궤적 따라가기

트레일(궤적) 이펙트는 이동하는 소스(캐릭터, 탄환 등)의 위치를 따라가며 파티클을 생성하고, Ribbon으로 연결하는 방식입니다.

검 궤적(Sword Trail) 설정
Sword Trail System Emitter Properties: Sim Target: CPUSim Local Space: false // 월드 스페이스 Emitter Update: Spawn Per Frame = 1 Particle Spawn: Initialize Particle Lifetime = 0.3 // 짧은 수명 = 짧은 트레일 RibbonWidth = 50.0 // 검 길이에 맞춤 Color = (0.5, 0.8, 1.0, 1.0) Particle Update: Particle State Scale Color: Alpha Curve: 1.00.0 // 페이드아웃 Scale Ribbon Width: Scale Curve: 1.00.0 // 끝으로 갈수록 좁아짐 Render: Ribbon Renderer Facing Mode: Custom Side Vector // 검의 방향에 수직으로 리본 펼침

Ribbon ID로 다중 리본

하나의 Emitter에서 여러 독립적인 리본을 생성하려면 Ribbon ID를 사용합니다.

다중 리본 설정
// 파티클에 Ribbon ID를 설정하면, // 같은 ID를 가진 파티클끼리만 리본으로 연결됩니다. Particle Spawn: Set (Particles.RibbonID) = Uniform Ranged Int Min = 0, Max = 4 // 결과: 5개의 독립적인 리본 스트립 생성 Ribbon Renderer: Ribbon ID Binding: Particles.RibbonID
04

Ribbon 최적화 팁

성능과 품질 균형 맞추기

최적화 항목 방법 효과
Tessellation 제한 Tessellation Factor를 최소 필요값으로 설정 GPU 버텍스 처리 비용 감소
파티클 수 제한 짧은 Lifetime과 적절한 Spawn Rate 사용 메모리와 연산 비용 감소
Max Particles Emitter Properties에서 최대 파티클 수 설정 무한 증가 방지
Distance Culling 카메라 거리에 따라 Spawn Rate 조절 먼 거리 이펙트 비용 절감
Ribbon 대안: Trail Renderer

UE5.4+에서는 Lightweight Trail 옵션이 도입되어, 단순한 트레일 효과를 더 적은 비용으로 구현할 수 있습니다. Ribbon의 모든 기능이 필요하지 않은 경우 고려해 보세요.

SUMMARY

핵심 요약

  • Ribbon Renderer는 파티클을 연결하여 연속적인 띠 형태의 메시를 생성합니다.
  • 파티클은 생성 순서(Age)에 따라 자동 연결되며, Ribbon ID로 다중 리본을 관리합니다.
  • Tessellation으로 리본의 곡선 부드러움을 조절하고, UV 모드로 텍스처 매핑을 제어합니다.
  • 트레일 이펙트는 Spawn Per Frame + 짧은 Lifetime + Ribbon Renderer 조합으로 구현합니다.
  • Facing Mode를 Custom Side Vector로 설정하면 검 궤적 등 특정 방향의 리본을 만들 수 있습니다.
  • Tessellation Factor와 파티클 수를 적절히 제한하여 성능을 최적화하세요.
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: 기본 Ribbon Trail 구현

Ribbon Renderer로 이동하는 파티클 뒤에 꼬리를 생성하세요. Ribbon Width를 NormalizedAge에 따라 감소시키고, UV Tiling으로 흐르는 텍스처 애니메이션을 적용하세요.

실습 2: 번개 이펙트 Ribbon

Ribbon Renderer에 Noise 모듈로 불규칙한 변위를 추가하여 번개 이펙트를 만드세요. Spawn Burst로 짧은 수명의 파티클을 생성하고, Emissive 머티리얼로 발광 효과를 더하세요.

심화 과제: Ribbon 기반 칼 궤적

캐릭터의 무기에서 나오는 칼 궤적 이펙트를 Ribbon으로 구현하세요. Skeletal Mesh Data Interface로 소켓 위치를 추적하고, Width를 시간에 따라 페이드시켜 자연스러운 잔상을 만드세요.