6개월 유니티 게임 개발일지 : 파티클 모작을 통한 실전 기능 분석기

hipop1109·2026년 1월 15일

이제 파티클의 탭에 대해 분석해봤으니, 상용화되는 가장 많이 쓰는 파티클을 그 파티클의 메인 기능을 강조하는 형식으로 구분하면서 모작 형식으로 공부를 진행해보려 한다
저작권에 꽤나 중대한 침해를 하는 듯 해보이는 방법이라 비공개로..

에셋 자체는 자주 쓰이는 이 에셋을 기반으로 진행해보려 한다
https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-remaster-free-109565

먼저 단일 이미지를 사용하는 비교적 쉬운 파티클인 이 파티클을 한번 분석해보고자 한다

우선 에셋에서 주어진 렌더러 설정부터 적용하자면

Renderer

  • Billboard로 기본적인 모양을 쓴다

Material

  • 머터리얼을 주어진 해골 모양으로 깔아둔다

Sorting Fudge

  • 파티클을 정렬한다

Min, Max Particle Size

  • 단일 파티클이고 커졌다 사라지는 구조기 때문에 0 ~ 2로 해둔다

Render Alignment

  • View로 해 파티클이 평면 앞을 보게 설정한다

Flip

  • X을 0.5 넣어 일부를 Flip시킨다

Allow Roll

  • Z축 이동을 허용한다

Pivot

  • 피벗은 고정

Masking

  • No Masking으로 해놓아 씬의 스프라이트 마스크와 대응하지 않게 함

Apply Active Color Space

  • 활성화해놓는다, 상황에 따라 색감이 달라지는게 자연스럽기 때문

Custom Vertex Streams

  • 저번에 못 붙인 설명을 덧붙이자면 Custom Vertex Streams는 이 파티클의 정보를 쉐이더, GPU에 보내는 통로 같은 개념이다
  • 현재 머터리얼에 담겨 있는 셰이더와 상호작용해 작동하는 구조로 이루어진다

그렇다면 지금 이 에셋이 사용하고 있는
Particle UberShader라는 쉐이더를 열어보겠다
쉐이더 코드 전문을 다 올리기엔 무리가 있으니 간단한 설명과 함께 핵심 코드와 그에 따른 쉐이더 탭 결과물과 비교하며 찍어보도록 하겠다
에셋을 분석하는게 의미가 있을까 싶지만 꽤나 범용적인 여러 설정들이 보여서 한번 해보려 한다

원문 코드가 필요하다면 직접 에셋을 깔아서 보는게 편할지도..?

Blending / Depth

Blending

  • 지금 그리는 픽셀 (Src)과 이미 화면에 있는 픽셀 (Dst)를 어떤 공식으로 섞을지 정하는 규칙
  • 이때 쓰는 수식 중 Blend Source / Blend Destination 탭이 있다
    - 아주 단순화한 수식으로 진짜 섞어서 나올 색을 구하자면
    - Src x Blend Source + Dst x Blend Destination
    - 이런 식으로 정리할 수 있겠다

Source : 지금 그리고 있는 파티클
Destination : 이미 그려진 배경 혹은 오브젝트를 뜻함
결론적으로 얼마나 파티클 고유색을 쓸지, 그리고 얼마나 배경을 남길지를 적용하는 것이다

  • 탭 중 Src---이런 느낌의 탭은 Src의 요소를 쓰겠다는 의미이다
    - Ex) SrcAlpha = 파티클의 알파값을 기준으로 섞는다
    - 마찬가지로 반대도 그런 의미
  • One = 그대로 100퍼센트 더함
  • OneMinus--- 은 100에서 저 값 요소를 빼는 개념으로 보면 된다
  • 이런 식으로 여러 탭으로 이 값을 정리해두는 개념

Blending Type
이 에셋에서 섞는 타입을 이런 식으로 나눠둔다

  • Alpha Blending
    - 가장 기본적인 투명
    - 색이 섞이게 적용한다
  • Premultiplied Alpha
    - 색에 이미 알파를 곱하는 형식
    - 경계가 깨끗해짐
  • Additive
    - 색을 그냥 더함
    - 겹칠수록 밝아지는 개념
  • Multiplicative
    - 배경을 어둡게 곱하는 개념

Depth Write
깊이를 기록할지에 대해 물어보는 탭

  • 체크하면 깊이에 기록되며 파티클끼리 겹치는 부분들이 정리된다
  • 끄면 기록하지 않고 기본적인 투명으로 처리된다

Alpha Clipping
알파값이 일정 값 이하면 버려버리고, 그 이상이면 100프로 그리는 설정

  • 부드러운 투명을 제외해 경계를 또렷히 할 수 있음
  • 그러나 계단 현상이 생기고 말 그대로 부드러움이 좀 줄 수 있다

Soft Particles
파티클이 벽, 바닥을 뚫고 들어갈 때 경계가 잘리는 문제를 해결 가능

  • 카메라 깊이 텍스쳐를 인식하고 너무 가까워지면 알파를 줄이며 사라지게 하는 기능
    - Near Fade : 언제부터 사라질지
    - Far : 언제부터 완전히 사라질지
    - 값이 클수록 더 멀리서부터 부드럽게 페이드된다
    - Edge Fade : 가장자리 알파를 줄일 수 있는 기능

Effects

Enable Dissolve
디졸브 기능 온오프 탭

  • 켜면 아래 탭 작동, 끄면 일반 파티클 취급

Dissolve Texture
어디서부터 사라질 지 정하는 지도의 개념

  • 보여줄 이미지가 아님
  • 어두운 곳 -> 먼저 사라짐 / 밝은 곳 -> 나중에 사라지는 개념으로 적용

Tiling

  • 디졸브 패턴 반복 횟수, 값 높아질수록 패턴 촘촘해짐

Offset

  • 디졸브 패턴의 위치 이동

Dissolve Smoothing
사라지는 경계가 얼마나 부드러운가에 대한 수치 조정

  • 낮음 -> 경계가 날카롭고 조각조각 잘리는 느낌
  • 높음 -> 경계가 흐릿하고 연기처럼 보임
  • 속도를 잡는게 아닌 경계의 폭을 조정하는 부분이다

Invert Dissolve Texture
밝고 어두운 기준 뒤집음

  • 켜면 위 이미지의 밝은 곳이 먼저 사라짐, 반대로 적용시킬수 있는 구조

Double Dissolve
디졸브 경계를 두 겹으로 만든다

  • 쓰면 단일 경계가 아닌 바깥, 안쪽 두 단계의 경계가 생긴다

Dissolve offest along X
디졸브를 한 방향으로 진행시키는 탭

  • 디졸브를 X축 방향으로 미는 개념으로 흐르거나 밀리는 효과를 주는 개념

Enable UV Distortion

  • 다음에 쓸 때 한번 더 설명해보겠다

일단은 요기까지

profile
쑥쑥 개발자

1개의 댓글

comment-user-thumbnail
2026년 1월 15일

유익해요

답글 달기