본문으로 건너뛰기

안동민 개발노트

본문 시작

메시 데이터 세트의 기본 사용법

스태틱·스켈레탈 메시의 표면 위치·노멀·정점 데이터를 읽어 파티클을 스폰하고 메시를 따라 이동시킵니다.

지금까지 파티클 자체 속성 제어를 중심으로 작업했다면, 이번에는 외부 3D 데이터와 결합하는 단계로 넘어갑니다.

핵심은 메시 데이터 세트(Mesh Data Interface)입니다.

이 기능을 사용하면 스태틱 메시(Static Mesh)스켈레탈 메시(Skeletal Mesh)의 기하학 정보를 나이아가라 파티클 시스템에서 직접 활용할 수 있습니다.

이는 파티클이 단순히 정해진 공간에서만 생성되고 움직이는 것이 아니라, 게임 월드 내의 특정 3D 오브젝트의 형태를 따르거나, 그 표면에서 상호작용하는 등 훨씬 더 유기적이고 사실적인 효과를 구현할 수 있게 해줍니다.

마치 메시 오브젝트에 파티클을 심는 것과 같다고 이해하시면 됩니다.

Mesh Data Interface는 메시 표면 정보를 파티클 시작점으로 바꾼다

임의 위치에 흩뿌리는 대신 메시의 표면, 노멀, UV를 읽어 형상을 따라가는 효과를 만든다.

읽는 정보파티클에 쓰는 값맞는 효과주의점
Vertex/Surface PositionSpawn Position오브젝트 표면 발광, 먼지좌표 공간과 스케일 확인
NormalVelocity 또는 Orientation표면 바깥으로 분출노멀 방향이 뒤집히지 않는지 확인
UV마스크와 색 샘플특정 영역에서만 발생UV 채널과 텍스처 일치
Triangle/Area분포 밀도표면 균일 샘플링작은 삼각형에 몰리지 않는지 확인
Skeletal Update변형된 표면 추적캐릭터 주변 효과애니메이션 갱신 비용

메시 데이터 세트란 무엇인가요?

메시 데이터 세트는 표면 샘플과 방향 정보를 함께 제공한다

표면 위치만 읽으면 붙는 효과가 되고, 노멀과 UV까지 읽으면 방향과 영역 제어까지 가능해진다.

구성읽을 수 있는 값활용검증 기준
참조 메시Static Mesh 또는 Skeletal Mesh효과를 붙일 형상 선택원하는 메시가 DI에 연결됨
표면 샘플위치, 삼각형, 버텍스표면에서 입자 생성분포가 특정 면에 몰리지 않음
방향 정보Normal, Tangent표면 바깥 방향 속도입자가 안쪽으로 들어가지 않음
UV 정보UV 좌표와 마스크특정 재질 영역 제어텍스처 채널과 UV가 일치
런타임 비용갱신 빈도와 샘플 수움직이는 메시 추적샘플 수가 프레임 비용을 넘지 않음

메시 데이터 세트는 메시의 정점(Vertex), 면(Triangle), UV, 노멀(Normal) 같은 기하학 정보를 나이아가라가 읽을 수 있게 변환하는 데이터 인터페이스입니다.

이 정보를 사용하면 파티클을 메시 표면/내부에 스폰하거나 특정 지점을 따라 이동시키고, 메시 속성(색상, 재질)을 파티클 표현에 반영할 수 있습니다.

주로 사용되는 메시 데이터 인터페이스는 다음과 같습니다.

  • Niagara Data Interface Static Mesh: 변형되지 않는 고정된 형태의 3D 모델(스태틱 메시)의 데이터를 활용합니다. 건물, 바위, 무기 등 환경 오브젝트에 주로 사용됩니다.
  • Niagara Data Interface Skeletal Mesh: 애니메이션되는 캐릭터나 움직이는 오브젝트(스켈레탈 메시)의 데이터를 활용합니다. 캐릭터의 피격 효과, 발자국 먼지, 또는 몬스터의 특정 부위에서 발생하는 효과 등에 사용됩니다.

메시 데이터 세트의 주요 활용 예시

메시 데이터 세트는 표면 샘플링, 위치 분포, 형태 기반 스폰처럼 여러 방식으로 활용할 수 있습니다.

메시 표면에 파티클 스폰하기

가장 흔하게 사용되는 방법 중 하나입니다.

메시의 표면(Surface)을 파티클의 스폰 위치로 활용하여, 마치 오브젝트에서 직접 파티클이 뿜어져 나오는 듯한 효과를 구현합니다.

  • 사용 예시
    • 뜨거운 바위에서 피어오르는 증기.
    • 용암 표면에서 끓어오르는 거품.
    • 건물이 파괴될 때 떨어지는 잔해 파티클.
    • 수영하는 캐릭터의 몸에서 떨어지는 물방울.

메시의 속성 활용하기

메시의 정점 색상, UV 정보, 노멀 방향 등을 파티클에 전달하여 파티클의 초기 속성을 설정하거나, 동적인 변화를 부여할 수 있습니다.

  • 사용 예시
    • 메시의 텍스처 색상을 파티클의 초기 색상으로 사용하여, 오브젝트의 색상에 맞는 불꽃이나 스파크 효과를 낼 때.
    • 메시의 노멀 방향을 파티클의 초기 속도 방향으로 사용하여, 표면에서 수직으로 튀어 오르는 효과를 낼 때.

메시를 따라 파티클 이동시키기

메시의 정점 위치나 본(Bone), 소켓(Socket)을 참조하여 파티클이 메시와 함께 움직이거나, 메시의 특정 부분을 따라 이동하게 할 수 있습니다.

  • 사용 예시
    • 캐릭터의 손에 불꽃이 따라다니는 마법 효과.
    • 검의 날을 따라 흐르는 에너지 효과.
    • 발자국이 찍히는 위치에만 발생하는 먼지 효과.

아래 다이어그램은 메시에서 어떤 샘플 지점을 읽을지 결정할 때 Surface, Volume, Vertex, Edge 옵션을 고르는 기준을 정리한 것입니다.

메시 샘플링 지점

Static Mesh 데이터 인터페이스는 같은 메시라도 표면, 내부, 정점, 모서리 중 어디를 샘플링하느냐에 따라 완전히 다른 효과를 만듭니다.

  1. 표면에서 피어오르는 효과

    Surface 증기, 먼지, 용암 거품처럼 메시 외곽에 붙어 나오는 파티클에 어울립니다.

  2. 부피 안을 채우는 효과

    Volume 에너지 코어, 구름 덩어리, 내부 발광처럼 메시 내부 밀도가 중요한 표현에 사용합니다.

  3. 구조 점을 드러내는 효과

    Vertex 정점 색상, 노멀, 고정된 포인트를 활용해야 할 때 위치가 안정적으로 유지됩니다.

  4. 윤곽과 균열을 따라가는 효과

    Edge 모서리 하이라이트, 금이 간 표면, 검날 에너지처럼 메시의 윤곽선을 따라 파티클을 배치할 때 씁니다.


직접 해보기: 스태틱 메시에 파티클 스폰하기

간단한 예제를 통해 Niagara Data Interface Static Mesh를 사용하여 스태틱 메시 표면에 파티클을 스폰하는 방법을 알아보겠습니다.

새로운 나이아가라 시스템 생성: New system with empty system 템플릿을 사용하여 NS_MeshSurfaceSpawn이라는 이름의 빈 나이아가라 시스템을 만듭니다.

기본 모듈 추가: Initialize Particle, Spawn Rate (값: 50 정도), Sprite Renderer 모듈을 이미터에 추가합니다.

스태틱 메시 데이터 인터페이스 추가
  • 개요(Overview) 패널에서 이미터를 선택하고, Emitter Update 섹션 아래의 + 버튼을 클릭합니다.
  • Niagara Data Interface Static Mesh를 검색하여 추가합니다.
스태틱 메시 할당
  • 추가된 Niagara Data Interface Static Mesh 모듈을 선택합니다.
  • 디테일(Details) 패널에서 Source 섹션 아래의 Static Mesh 속성을 찾습니다.
  • Static Mesh 옆의 드롭다운 메뉴를 클릭하거나 검색 버튼을 사용하여 원하는 스태틱 메시 에셋을 할당합니다. 예를 들어, SM_Cube 또는 SM_Sphere 같은 엔진 기본 메시를 사용해 보세요.
스폰 위치 설정 모듈 추가
  • 개요(Overview) 패널에서 이미터의 Spawn 섹션으로 이동합니다.
  • + 버튼을 클릭하고 Location: Static Mesh 모듈을 검색하여 추가합니다.
  • 이 모듈은 Niagara Data Interface Static Mesh에서 데이터를 받아 파티클의 스폰 위치를 결정합니다.
위치 타입 선택
  • Location: Static Mesh 모듈을 선택합니다.
  • 디테일 패널에서 Location Type 속성을 찾습니다.
  • Surface (표면), Volume (내부), Vertex (정점), Edge (모서리) 등 다양한 옵션이 있습니다. 여기서는 Surface를 선택합니다.
  • Generate Position On Mesh를 활성화하여 메시의 표면에서 랜덤하게 스폰되도록 합니다.

스태틱 메시 표면 스폰은 데이터 인터페이스와 위치 모듈이 함께 맞물려야 결과가 보입니다.

아래 흐름처럼 소스 지정, 샘플링 방식, 스폰 위치 반영을 한 줄로 이어 보면 누락된 설정을 빠르게 찾을 수 있습니다.

메시 데이터 인터페이스가 표면 위치를 Spawn으로 넘긴다

표면 스폰은 메시를 지정하는 일과 파티클 시작 위치를 계산하는 일을 분리해서 연결해야 한다.

  1. 1. Mesh Asset
    읽을 표면을 정한다

    Mesh Asset SM_Cube , SM_Sphere 같은 메시 에셋을 먼저 고른다.

  2. 2. Data Interface
    Emitter가 메시를 읽게 한다

    Data Interface Niagara Data Interface Static Mesh 가 표면 정보를 공급한다.

  3. 3. Location Module
    Spawn 위치로 소비한다

    Location Module Location: Static Mesh 가 데이터 인터페이스 값을 파티클 시작점으로 쓴다.

  4. 4. Surface Mode
    표면 샘플링을 확인한다

    Surface Mode 내부가 아니라 표면에서 생성되는지 Viewport에서 바로 검증한다.

안 보일 때먼저 볼 곳의미
메시가 비어 있음Static Mesh 데이터 인터페이스샘플링할 표면 자체가 없어 Spawn 위치가 나오지 않는다.
중심에서만 생성됨Location TypeSurface가 아니라 기본 위치나 다른 샘플 모드로 남아 있을 수 있다.
생성은 되지만 티가 안 남Spawn Count, Lifetime, Size위치 연결은 맞지만 표현 값이 너무 작거나 짧을 수 있다.

이제 뷰포트에서 여러분이 선택한 스태틱 메시의 표면에서 파티클들이 생성되어 솟아오르는 것을 볼 수 있을 겁니다.

파티클의 수명이나 속도 등을 조절하여 메시 표면을 따라 흐르거나, 튀어 오르는 등 다양한 효과를 연출해 보세요.


메시 데이터 세트 활용 팁

  • 최적화 고려: 복잡한 메시나 너무 많은 파티클을 메시 표면에 스폰하면 성능에 부담을 줄 수 있습니다. 필요한 경우 메시의 LOD(Level of Detail) 설정을 조정하거나 파티클 수를 제한하는 것이 좋습니다.
  • 머티리얼과의 연동: 메시 데이터 인터페이스는 메시의 UV나 Vertex Color와 같은 데이터를 파티클에 전달할 수 있습니다. 이를 파티클의 초기 색상이나 텍스처 좌표로 활용하여 메시의 질감을 파티클에 반영할 수 있습니다.
  • 블루프린트 연동: 게임 월드에 배치된 특정 메시 액터의 참조를 Niagara Data Interface Static Mesh에 전달하여, 런타임에 동적으로 메시를 변경하거나 메시의 움직임에 따라 파티클이 반응하도록 할 수 있습니다.

메시 데이터 세트는 3D 오브젝트의 표면, 위치, 방향 정보를 파티클 생성이나 이동 기준으로 사용할 때 필요합니다.

효과 범위가 넓어지는 만큼 입력 메시와 샘플링 기준을 명확히 두어야 합니다.

메시 데이터 세트는 표면 샘플링, 속성 읽기, 이동 방향, 스폰 범위, 검증 뷰를 함께 확인해야 메시 기반 효과가 안정적입니다.

메시 데이터 세트 샘플링 판정표

메시 표면에서 파티클을 만들 때는 소스, 샘플 위치, 읽을 속성, 속도 방향, 검증 화면이 한 묶음으로 맞아야 한다. 하나만 틀려도 스폰이 한쪽으로 몰리거나 메시에서 떨어져 보인다.

  1. Mesh

    사용할 메시, 좌표 공간, 스케일 기준을 먼저 고정한다.

  2. Surface

    표면, 정점, 삼각형 중 어떤 위치를 뽑을지 정한다.

  3. Attribute

    노멀, UV, 색상, 바운드 중 필요한 값을 연결한다.

  4. Motion

    표면 밖, 표면을 따라 이동, 낙하 중 방향을 고른다.

  5. Validate

    프리뷰에서 밀도, 뒤집힌 방향, 성능 비용을 확인한다.

목적선택 기준연결 값실패 신호
표면 스폰오브젝트 표면에서 자연스럽게 시작Surface, Normal한 면에 몰림, 내부 생성
방향 반응표면 밖으로 튀거나 흐르는 효과Normal, Tangent방향 반전, 속도 튐
영역 구분재질 영역이나 색으로 밀도 제어UV, Vertex Color원치 않는 영역 반응

메시 데이터 세트는 표면, 정점, 위치 기준을 명확히 잡아야 하므로, 스폰 기준 선택표로 정리합니다.

Mesh Interface 기준 선택 지도

메시 데이터는 파티클을 공간에 붙이는 기준이다. 표면, 정점, UV, 색상, 움직임 중 무엇을 읽을지 먼저 정해야 샘플 위치와 렌더 결과가 흔들리지 않는다.

  1. 소스 고정

    입력 메시가 런타임에 바뀌는지, 고정 에셋인지 먼저 나눈다.

  2. 샘플 방식

    표면 분포와 노멀 방향이 의도와 맞는지 프리뷰로 본다.

  3. 비용 경계

    복잡한 메시, 스켈레탈 추적, 높은 입자 수를 함께 계산한다.

기준맞는 상황필수 확인
Static Mesh움직임이 적은 오브젝트 표면에서 생성스케일, 좌표 공간, 삼각형 밀도
Skeletal Mesh캐릭터 애니메이션과 함께 따라가는 효과스킨 변형, 소켓, 프레임 비용
Mesh 속성UV, 색상, 노멀로 반응 영역을 나눔속성 누락, 좌표 반전, 영역 경계