본문으로 건너뛰기

안동민 개발노트

본문 시작

스폰 모듈의 기본 사용법

Spawn Rate·Burst·Per Unit의 생성 기준을 비교하고 효과의 시간·이동 거리 요구에 맞춰 생성 수량과 위치를 설정합니다.

나이아가라 시스템의 핵심은 바로 모듈(Module)입니다.

모듈은 파티클의 생성, 업데이트, 렌더링 등 모든 동작을 정의하는 작은 기능 단위입니다.

2장에서 이미 Initialize Particle, Spawn Rate, Add Velocity 등의 모듈을 사용해보셨을 겁니다.

이제 3장에서는 이러한 모듈들을 더 깊이 이해하고, 효과적으로 사용하는 방법을 배우게 될 것입니다.

그 첫 번째 순서로, 파티클의 탄생을 담당하는 스폰(Spawn) 모듈에 대해 자세히 알아보겠습니다.

스폰 모듈은 이미터의 스폰(Spawn) 섹션에 위치하며, 파티클이 언제, 어디서, 얼마나 많이 생성될지를 결정합니다.

나이아가라 스폰 모듈 선택

스폰 모듈은 파티클이 얼마나, 언제, 어떤 초기 상태로 태어나는지를 정한다.

  1. Spawn Rate

    지속 생성

  2. Spawn Burst

    순간 생성

  3. Initialize Particle

    기본 속성 채움

  4. Shape Location

    생성 위치 분포

  5. Initial Velocity

    시작 방향과 속도

  6. Random Range

    자연스러운 편차


스폰 모듈의 역할과 종류

스폰 비용은 생성 패턴에서 화면 면적까지 누적된다

Rate·Burst가 만든 파티클은 Lifetime 동안 겹치고, 활성 수와 각 파티클의 화면 면적이 최종 GPU 비용을 결정한다.

  1. 발생 패턴

    Rate는 평균량, Burst는 한 프레임 피크를 만든다.

  2. 체류 시간

    Lifetime이 길수록 다음 생성분과 더 오래 겹친다.

  3. 활성 수

    생성량×수명이 동시 파티클 수의 기준선이 된다.

  4. 화면 면적

    Size·Alpha·Material이 파티클당 픽셀 비용을 바꾼다.

  5. 프레임 비용

    CPU 생성 피크와 GPU 오버드로우를 따로 측정한다.

  6. 순간 끊김

    Burst의 한 프레임 생성 피크부터 본다.

  7. 시간 누적

    Lifetime과 Max Particles를 먼저 본다.

  8. 수가 적어도 무거움

    Size·Alpha·Material의 화면 면적을 본다.

스폰 모듈은 파티클이 처음 세상에 나타나는 방식을 정의합니다.

어떤 효과를 만들고 싶으냐에 따라 적절한 스폰 모듈을 선택하는 것이 중요합니다.

Spawn Rate

가장 기본적이고 널리 사용되는 스폰 모듈입니다.

초당 지정된 수의 파티클을 지속적으로 생성합니다.

  • 주요 속성
    • Spawn Rate: 초당 생성될 파티클의 개수를 지정합니다. 값이 높을수록 파티클이 더 조밀하게 생성됩니다.
  • 사용 예시
    • 연기: 낮은 Spawn Rate로 부드럽게 피어오르는 연기.
    • 비/눈: 적절한 Spawn Rate로 지속적으로 내리는 비나 눈.
    • 물줄기: 높은 Spawn Rate로 뿜어져 나오는 물줄기.
  • : Spawn Rate의 값을 시간에 따라 변화시키고 싶다면, 이 값을 동적으로 제어하는 방법을 나중에 배우게 될 것입니다. (예: 그래프 에디터 사용)

Spawn Burst Instantaneous

특정 시점에 한 번에 지정된 수의 파티클을 폭발적으로 생성합니다.

주로 짧고 강렬한 효과에 사용됩니다.

  • 주요 속성
    • Number: 한 번에 생성될 파티클의 총 개수를 지정합니다.
  • 사용 예시
    • 폭발: 폭발 순간에 파편이나 불꽃을 한 번에 흩뿌릴 때.
    • 충격파: 땅에 닿는 순간 발생하는 먼지나 파동.
    • 총알 피격 효과: 벽에 총알이 맞았을 때 튀는 스파크.
  • : 이미터의 Loop BehaviorOnce로 설정하고 Spawn Burst Instantaneous를 사용하면, 한 번 터지고 사라지는 일회성 효과를 쉽게 만들 수 있습니다.

Spawn Per Unit

이미터가 이동하는 거리에 비례하여 파티클을 생성합니다.

즉, 이미터가 빠르게 움직일수록 더 많은 파티클이 생성됩니다.

  • 주요 속성
    • Units Per Particle: 파티클 하나를 생성하는 데 필요한 이동 거리를 지정합니다. 값이 작을수록 더 많은 파티클이 생성됩니다.
  • 사용 예시
    • 자동차 타이어 자국: 자동차가 움직일 때만 바퀴에서 먼지가 발생하는 효과.
    • 마법사의 이동 궤적: 캐릭터가 이동할 때 뒤에 남는 잔상 효과.
    • 총알 궤적: 빠르게 날아가는 총알 뒤에 남는 연기 꼬리.

스폰 모듈 추가 및 설정 과정

스폰 모듈을 이미터에 추가하고 설정하는 과정은 매우 간단합니다.

나이아가라 에디터 열기: 작업할 나이아가라 시스템 에셋을 더블 클릭하여 엽니다.

이미터 선택: 개요(Overview) 패널에서 파티클을 생성하고 싶은 이미터를 선택합니다.

스폰 섹션으로 이동: 선택된 이미터 아래의 Spawn 섹션을 찾습니다.

모듈 추가: Spawn 섹션 옆에 있는 + 버튼을 클릭합니다.

모듈 검색창이 나타나면 원하는 스폰 모듈(예: Spawn Rate 또는 Spawn Burst Instantaneous)의 이름을 입력하여 검색합니다.

모듈 선택 및 추가: 검색된 모듈을 클릭하여 추가합니다.

속성 조정: 추가된 모듈을 선택하면 디테일(Details) 패널에 해당 모듈의 속성들이 나타납니다.

여기서 Spawn Rate 또는 Number와 같은 주요 속성 값을 원하는 대로 조정합니다.

중요: 파티클이 실제로 보이려면 Initialize Particle 모듈과 Sprite Renderer (또는 다른 렌더러) 모듈이 이미터에 추가되어 있어야 합니다.

Initialize Particle은 파티클의 기본 속성을 정의하고, 렌더러는 파티클을 화면에 그려주는 역할을 합니다.


스폰 모듈 활용 팁

  • 조합하여 사용: Spawn RateSpawn Burst Instantaneous를 함께 사용하여 복합적인 효과를 만들 수 있습니다. 예를 들어, 지속적으로 연기가 피어오르면서(Spawn Rate) 가끔씩 불꽃이 터져 나오는(Spawn Burst) 효과를 구현할 수 있습니다.
  • 랜덤 값 활용: 스폰되는 파티클의 개수나 스폰 간격에 무작위성을 부여하여 효과를 더욱 자연스럽게 만들 수 있습니다. 속성 옆의 화살표를 클릭하여 Random Range Float 또는 Curve 등을 활용해 보세요.
  • 성능 고려: Spawn RateSpawn Burst의 값을 너무 높게 설정하면 성능에 큰 부담을 줄 수 있습니다. 특히 모바일 플랫폼이나 저사양 환경에서는 적절한 파티클 수를 유지하는 것이 중요합니다. Max Particles 속성(이미터 속성)을 통해 최대 파티클 수를 제한하는 것도 좋은 방법입니다.

스폰 모듈을 선택할 때는 효과가 지속형인지, 순간형인지, 이동 거리 기반인지 먼저 나누고, 그다음 수량과 성능 제한을 함께 정리하면 실수가 줄어듭니다.

스폰 모듈은 효과가 시간과 공간에 남는 방식으로 고른다

지속·순간·이동 거리라는 질문에 답한 뒤 생성량, 초기 상태, 상한을 같은 순서로 맞추면 모듈과 예산을 함께 결정할 수 있다.

  1. 효과 타입

    지속·순간·거리 기반 중 주 동작을 고른다.

  2. 생성량

    초당·이벤트당·거리당 수치를 낮게 시작한다.

  3. 초기 상태

    Lifetime·Size·Color·Velocity를 맞춘다.

  4. 예산 상한

    Max Particles와 목표 프레임으로 폭주를 막는다.

의도 질문선택 모듈조정 단위주요 위험
시간 동안 계속 이어지는가?Spawn Rateparticles / secondLifetime과 누적
한 사건에서 순간 강조가 필요한가?Spawn Burstparticles / event한 프레임 피크
이동 거리마다 같은 간격으로 남는가?Spawn Per Unitunits / particle빠른 이동 과생성

생성량을 높이기 전에 스폰 방식, 초기화 값, 최대 파티클 제한이 서로 충돌하지 않는지 확인하면 의도한 밀도를 더 안정적으로 만들 수 있습니다.

스폰 밀도는 생성량·체류 시간·상한을 순서대로 조정한다

같은 Spawn Rate라도 Lifetime이 길면 화면에 남는 수가 늘어난다. 필요한 밀도를 만들 때는 공식과 조정 순서를 함께 사용한다.

  1. 1
    방식 고정

    Rate·Burst·Per Unit 중 효과의 주 생성원을 고른다.

  2. 2
    낮은 수량

    작은 값에서 시작해 필요한 밀도까지 올린다.

  3. 3
    체류·면적

    Lifetime과 Size가 화면을 얼마나 덮는지 함께 본다.

  4. 4
    상한 고정

    Max Particles로 랜덤·버스트 폭주를 막는다.

  5. 5
    실기기 측정

    particle count와 GPU time을 예산과 비교한다.

  6. 6
    너무 비어 보임

    Rate 전에 Lifetime·Size·분포 범위를 확인한다.

  7. 7
    갑자기 무거움

    Rate+Burst 중첩과 Per Unit의 빠른 이동을 확인한다.

  8. 8
    모양이 반복됨

    수량보다 위치·속도·크기의 랜덤 범위를 먼저 섞는다.


스폰 모듈은 나이아가라 효과의 시작점입니다.

파티클 생성 조건을 조정하면 원하는 시각 효과의 기본 형태를 만들 수 있습니다.

다음 절에서는 생성된 파티클이 살아있는 동안 어떻게 변화하고 움직이는지, 즉 파티클 업데이트(Particle Update) 모듈을 다룹니다.


스폰 모듈은 효과 목적에 맞는 생성 방식과 성능 제한을 같이 고르는 것이 핵심입니다.

스폰 방식은 효과의 시간 패턴으로 먼저 고른다

지속 생성, 순간 생성, 이동 거리 기반 생성은 설정해야 할 수량 값과 성능 위험이 서로 다르다.

효과 패턴선택 모듈핵심 조정값나쁜 신호
지속형 연기, 비, 눈Spawn Rate초당 생성량과 Lifetime으로 화면 밀도를 맞춘다.밀도만 올리고 Max Particles를 보지 않으면 프레임 비용이 급증한다.
순간형 폭발, 피격, 충격파BurstNumber와 Loop Behavior를 함께 맞춘다.Loop가 켜진 채 Burst가 반복되면 의도보다 훨씬 많은 입자가 생긴다.
이동 궤적 타이어 자국, 꼬리, 잔상Spawn Per UnitUnits Per Particle을 이동 속도와 함께 조정한다.빠른 이동에서 생성량이 폭증하면 거리 기준값을 키운다.
보이지 않음 생성은 되지만 화면에 없음Initialize 확인Lifetime, Size, Color, Renderer가 비어 있는지 확인한다.스폰 수를 올려도 보이지 않으면 생성량 문제가 아니다.

스폰 모듈은 효과의 밀도와 비용을 동시에 바꾸므로, 적용 전 판단 기준을 한 번 더 정리합니다.

방출 방식 선택 기준표

스폰 모듈은 입자가 태어나는 규칙을 정하므로, 효과의 시간감과 이동 조건을 먼저 보고 선택해야 합니다.

  1. Spawn Rate·Burst 선택

    계속 뿜는 효과는 Rate, 순간 발생은 Burst, 움직인 거리마다 남기는 흔적은 Per Unit이 어울립니다.

  2. Spawn Rate

    연기, 비, 불꽃처럼 지속적으로 이어지는 효과의 기본 선택입니다.

  3. Spawn Burst

    폭발, 충돌, 마법 발동처럼 짧은 순간의 양감을 만들 때 씁니다.

  4. Spawn Per Unit

    발자국, 타이어 자국, 궤적처럼 이동 거리에 맞춰 입자를 남깁니다.

  5. 조합 사용

    Burst로 시작감을 만들고 Rate로 잔류감을 이어가는 방식으로 잔상을 조정합니다.

  6. 과다 생성

    효과가 무거우면 먼저 스폰 모듈의 수량 기준부터 낮춰 봅니다.

  7. 시간 확인

    발생 순간이 맞지 않으면 루프와 활성 시점을 함께 확인합니다.

  8. 방출 검수

    효과 설명만 듣고 적절한 스폰 방식을 고를 수 있습니다.