본문 바로가기

💻 내 소개 안녕하세요 엄청짱 프로그래머 손다빈 입니다.
  • 나이 : 96년생
  • 특이사항 : 조금씩 늙어가고 있음
  • 좋아하는 음식 : 햄부기, 치킨, 고기

🥷기술
Unity
Godot
Cpp
Javascript
D3
Vue

🐱 우리집 고양이 소개
츄르 먹은 후 츄르 먹기 전
  • 이름 : 콜라
  • 나이 : 14년생
  • 종 : Nado moreum

📱 개인 프로젝트
🏢 참여한 프로젝트
🌱 내 잔디밭

유니티 URP 파티클 시스템 정리 본문

글 묶음/참고를 위해 짧게 정리한 글

유니티 URP 파티클 시스템 정리

초긍정 개발자 다빈맨 2024. 8. 10. 16:46

Emission

 

Rate over Time : 1/Rate over Time 초의 주기로 파티클을 방출하도록 합니다.

 

예시) 10으로 설정하면 1/10 (0.1)초 간격으로 파티클이 방출되지만 플레이 시작과 동시에 방출되지는 않으므로 10으로 설정하면 10개의 파티클이 아닌 1초동안 9개의 파티클이 방출됩니다.


Renderer

RenderMode 

  • Billboard : 파티클 입자들이 항상 카메라를 바라보도록 합니다.
  • Stretched Billboard : 파티클 입자들이 항상 카메라를 바라보기도 하면서, Scale을 조정할 수 있게 됩니다.

 

Sorting Fudge

  • 같은 Sorting Layer와 Order In Layer를 가진 파티클의 렌더링 순서를 조정할 때 사용합니다. 실제 렌더링되는 Z 값에 미세한 오프셋을 적용해 렌더링 순서를 조정하는 방식입니다. 
  • 카메라 회전에 따라 미세한 깊이 값이 바뀌면서 의도한대로 깊이가 설정되지 않을 수 있으므로 최소 10 단위로 값을 지정하는 것을 권장합니다.
  • Order In Layer는 동일한 레이어를 가진 대상 끼리만 렌더링 순서를 조정할 때 사용합니다.

 

Min/Max Particle Size

  • 화면 안에 렌더링 되는 파티클의 최대 크기를 제한할 때 사용합니다. Scene View 에서 드래그해서 확대할 때 파티클의 사이즈가 작아지는 이유가 이 설정이 있기 때문입니다.

 

Limit Velocity over Lifetime

  • Speed : 파티클의 속도의 최저/최대값을 설정할 때 사용합니다.
  • Dampen : 파티클 속도가 점진적으로 줄여나가도록 설정하는데 사용합니다. 0에 가까울 수록 속도가 천천히 감소하고 1에 가까울 수록 속도가 빠르게 감소합니다. 쉽게 생각해서 브레이크 파워 정도로 생각할 수 있습니다.

예시) Speed가 1.8에 Dampen을 1로 설정한 경우, 파티클 속도가 1.8보다 커지는 경우 1.8로 빠르게 감속됩니다. 하지만 Dampen을 0으로 설정하면 파티클은 1.8을 넘더라도 감속하지 않게 됩니다. (즉, Limit이 의미가 없게 됩니다.)


Texture Sheet Animation

 

 

파티클로 사용하는 텍스쳐가 플립북(Flipbook) 형태인 경우 Sheet Animation을 사용하여 텍스쳐를 N x N 으로 나눠서 애니메이션 형태로 재생해서 사용할 수 있게 됩니다.

 

※ Flipbook(혹은 Sequence Texture) : 애니메이션이나 다양한 텍스쳐를 하나의 텍스쳐에서 골라 사용하도록 의도해 제작된 스프라이트 시트 형태의 텍스쳐로 다음과 같은 형태를 가집니다.

 


Material 설정 (URP 기준)

 

파티클 텍스쳐를 불투명하게 바꾸고 싶다면 Material의 Surface Options을 SurfaceType 을 Transparent, Blending Mode를 Additive 로 설정해서 불투명하게 만들어주어야 합니다.

 

Blending Mode (투명도를 어떻게 제어할지를 결정하는 모드)

  • Alpha : 텍스쳐에 알파 채널이 존재하는 경우 알파채널을 투명도로 사용
  • Additive : 텍스쳐에 어두운 부분을 (검은색과 가까울 수록) 투명하게 사용 (그래서, 텍스쳐에 알파 채널이 없더라도 알파가 있는 것 처럼 사용

Color Mode (컬러를 어떻게 제어할지를 결정하는 모드)

  • Multiply : 텍스쳐 그대로 사용
  • Additive : Additive는 빛과 같은 밝은 효과를 보이도록 사용

검정색 배경의 텍스쳐를 불투명한 텍스쳐로 사용하기

 

Alpha Source 를 From Gray Scale로 설정하면, 알파 채널이 없는 텍스쳐에서 Gray Scale 모드에서 Alpha를 추출하게 됩니다. 이 때 Alpha Is Transparency를 체크하면 텍스쳐 외곽의 반투명하게 의도된 컬러들이 렌더링에 포함되어 지저분하게 보이는 것을 방지해줍니다.

 


기타 용어 및 레퍼런스

TGA 확장자에 관련된 내용 : https://chulin28ho.tistory.com/362 (대마왕님 글)