안동민 개발노트

본문 시작

파티클 시스템의 기본 개념

파티클의 수명·위치·속도·색상·크기가 Spawn·Update·Render 단계를 거쳐 시각 효과와 성능 비용을 만드는 원리를 이해합니다.

나이아가라를 처음 배우면 멋진 이펙트를 빠르게 만들고 싶은 마음이 앞서기 쉽습니다.

그런데 기본 개념 없이 파라미터만 바꾸다 보면 왜 갑자기 파티클이 사라졌는지, 왜 성능이 급격히 떨어지는지를 설명하기 어려워집니다.

특히 입문 단계에서는 눈에 보이는 결과만 따라가다가, Spawn/Update/Render가 각각 어떤 역할을 하는지 놓치기 쉽습니다.

이 절은 화려한 연출보다 먼저 파티클 시스템의 동작 원리를 단단히 잡는 데 집중합니다.

기본 원리를 이해하면 이후 장에서 수치 조정이 감에 의존하지 않고, 기대 결과를 예측하며 조절하는 방식으로 바뀌게 됩니다.

파티클 시스템은 말 그대로 아주 작은 파티클(Particle), 즉 입자들의 집합으로 이루어져 있습니다.

이 작은 입자들이 모여 움직이고 변화하면서 우리가 인지하는 복잡한 시각 효과를 만들어내는 것이죠.

각각의 파티클은 수명, 색상, 크기, 속도 등 다양한 속성(Attribute)을 가지며, 이러한 속성들이 시간에 따라 변화하면서 동적인 효과가 연출됩니다.

불꽃, 연기, 먼지처럼 작은 요소가 많이 모여 보이는 효과는 파티클로 표현하기 좋습니다.

정리하자면, 파티클 시스템은 다음과 같은 핵심 요소들로 구성됩니다.

  • 파티클 (Particle): 시각 효과를 구성하는 가장 작은 단위입니다. 각 파티클은 고유한 속성을 가집니다.
  • 생성 (Spawn): 파티클이 언제, 어디서, 어떻게 생성될지를 정의합니다. 불꽃놀이의 폭죽이 터지는 순간처럼, 파티클이 처음 나타나는 지점과 방식을 결정합니다.
  • 업데이트 (Update): 생성된 파티클들이 시간이 지남에 따라 어떻게 변화하고 움직일지를 정의합니다. 파티클의 속도, 색상, 크기, 회전 등 모든 속성 변화를 이곳에서 제어합니다. 중력의 영향을 받거나 바람에 날리는 등의 물리적인 움직임도 여기에 포함됩니다.
  • 렌더링 (Render): 파티클이 최종적으로 화면에 어떻게 그려질지를 결정합니다. 파티클이 점으로 보일지, 스프라이트(2D 이미지)로 보일지, 메시(3D 모델)로 보일지 등을 설정할 수 있습니다.
입자의 생애와 화면 출력
입자의 생애와 화면 출력생성 시 초기화한 입자를 살아 있는 동안 반복 갱신합니다. 수명이나 소멸 조건을 만족하면 종료하며, 렌더러는 살아 있는 입자의 속성을 읽습니다.Spawn · 초기화위치 · 속도 · 수명 · 색 · 크기살아 있는 입자 갱신Update · 시뮬레이션 틱마다소멸수명 종료 또는 Kill 조건Renderer살아 있는 입자의 속성 → 화면새 입자반복소멸 조건 충족

실선은 생애의 진행, 점선은 렌더러로 전달되는 속성입니다. 렌더링은 소멸 이후의 단계가 아닙니다.

간단한 수치 예로 감각을 잡아보겠습니다.

생성률이 초당 20개, 수명이 1초로 일정하고 조기 소멸이나 생성 제한이 없다면, 충분히 시간이 지난 정상 상태의 살아 있는 파티클 수는 약 20 × 1 = 20개입니다. 카메라 밖이나 겹쳐 있는 파티클도 포함하므로 화면에서 구별되는 개수와는 다릅니다.

같은 조건에서 Spawn Rate를 200으로 올리면 시각 밀도는 좋아지지만 GPU/CPU 부담이 크게 증가해 프레임 저하가 나타날 수 있습니다.

즉 파티클 시스템은 더 많이 뿌릴수록 좋다가 아니라, 목표 연출과 성능 예산 사이에서 균형점을 찾는 설계 작업입니다.


첫 효과의 기준 정하기

  • 목표 화면 점유율(예: 10~20%)과 테스트 장면의 프레임 시간 예산을 정합니다. 화면 점유율은 생성량뿐 아니라 크기·위치·카메라 거리에도 영향을 받습니다.
  • 생성량을 올리기 전에 수명·속도·크기를 하나씩 조정해 목표 모양을 만듭니다.
  • 안 보이면 먼저 실제 파티클 수를 확인합니다. 생성되지 않았다면 Spawn 조건을, 살아 있다면 위치·크기·알파·렌더러·머티리얼·Bounds를 확인합니다.
  • 비용이 크면 시뮬레이션과 렌더링을 나누어 측정합니다. 큰 반투명 면이 겹치는 오버드로우와 복잡한 머티리얼은 적은 파티클로도 비용을 키울 수 있습니다.

Spawn Rate를 10배로 늘려도 전체 프레임 비용이 반드시 10배가 되는 것은 아닙니다. 파티클 수와 각 입자의 계산, 화면 면적을 함께 비교해야 합니다.

이 페이지의 목차