본문 바로가기
Shader

Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_3

by 대마왕J 2018. 9. 23.

"Particles/Standard Surface"


파티클에서 쓸 수 있는 스텐다드 쉐이더입니다. 

뭐 실제 써 보니까 굳이 파티클에만 쓸 수 있는건 아니구만요 


그렇지만 파티클에서 사용하기 좋은 유용한 기능들이 들어 있어서 파티클에 쓰기 괜찮은 녀석입니다. 

뭐 괜찮다고는 하지만 기본적으로 PBR이 돌아가는 스텐다드 쉐이더입니다. 가벼울리는 없지요 

그저 파티클에 쓸 필요가 있을때 쓸 수 있는 녀석이라는 거지 가볍다고 한 적은 없습니다 



어떨 때 씁니까?


일단 빛을 받아야 할 때 씁니다. 


메쉬로 된 파티클이나, 뭔가 노말맵을 쓰고 smoothness를 써서 빛에 반응해야 할 녀석을 만들 때 쓸 수 있습니다. 핏자국 같은 것도 쓸 수 있겠네요 


물론 그럼 '그냥 스텐다드 쉐이더를 쓰면 되지 않느냐! ' 라고 하실 수 있는데 

뭐 사실 맞습니다 그래도 되지요 


그렇지만 몇 가지 다른 점이 있습니다. 


일단 몇 가지 최적화가 되어 있고 버텍스 스트림 연결 메뉴가 있습니다. 

버텍스 스트림은 파티클에서 쉐이더를 직접 컨트롤 가능하게 연결해주는 것 같은거라고 생각하시면 편한데요 

이걸 파티클 시스템과 맞춰 주시는걸 먼저 해야 작동합니다. 

원래는 쉐이더 짤 때 파티클 시스템과 맞춰야 하는 전문적인 작업입니다만, 

Apply to Systems를 눌러 주시면 자동으로 맞춰 줍니다. [각주:1] 적용하면 먼저 누르고 시작하는게 좋습니다 


Rendering Mode 


Opaque : 일반적인 불투명 모드입니다. 알파 채널이 적용되지 않으며, 돌 같은 메쉬 파티클에 쓸 때 좋습니다. 


Cutout : 알파 테스팅 모드입니다. 반투명이 아닌 확실하게 알파 부분이 '잘라진' 느낌입니다. 뭔가 나뭇잎이나 찢어진 깃발, 혈흔 같은것처럼 확실하게 경계선이 구분되는 알파를 가진 물체용으로 좋습니다. 



Fade : 알파 블렌딩입니다 알파에 의해 부드러운 경계를 가진 물체를 표현하기 좋습니다. [각주:2]


Transparent : 알파 블렌딩입니다만, smoothness 등의 옵션은 알파에 의해 제거되지 않습니다. 반사는 되는데 투명한, 즉 유리 같은 느낌이라고 생각하시면 편합니다. 


Additive : 흔히 아는 밝아지는 모드입니다 그냥 쓰면 됩니다 



Subtractive : 빼기 모드입니다. 인버트에 가까운 결과가 나옵니다. 


Modulate : Multiply 모드와 같게 동작합니다만, 흰 부분이 투명해지진 않을겁니다. 이유는 이 쉐이더가 조명을 받기 때문인데, 환경광까지 받으면서 결과가 전혀 예상과 다르게 나옵니다. 연구가 좀 더 필요하긴 하겠지만, 이 상태로 Multiply 모드처럼 사용하기는 쉽지 않을 듯 합니다. 기울이면 Fresnel까지 나오거든요 이 쉐이더는 일단 전부 빛 계산이 들어간다는것을 잊으면 안됩니다. 

아무래도 일반 파티클처럼 쓰기에는 좀 무리가 있는듯. 빛을 받는 메쉬파티클용이라는 느낌이 강하게 납니다. 





Main Option 


Flip-Book Mode 

플립북 모드입니다. simple과 blended 가 있습니다. 



이 두 개는 재미있는게 위에서 설명한 버텍스 스트림 연결을 하지 않으면 동작하지 않습니다 

아니 정확히는 Simple모드로밖에 동작하지 않습니다. 

쉐이더와 파티클의 기능을 연결하는 것이기 때문이지요 


연결을 하고 나면 파티클의 Texture sheet Animation 기능이 이렇게 작동됩니다 

 

Simple Mode   Blended Mode     



Two Sided 

말그대로 2side 모드입니다 일반적인 cull off와 동일하게 동작함. 양면 렌더링이 됩니다. 


Enable Soft Particles 

소프트 파티클 모드입니다. 말그대로. 

여기서 이 기능을 포함한 몇몇 옵션은 Opaque나 Cutout 모드에서는 발동되지 않습니다. 


반투명이 필요한 옵션이라서. 




soft particle unity에 대한 이미지 검색결과

http://blog.wolfire.com/2010/04/Soft-Particles



Enable Camera Fading 


이펙트가 카메라에 가까이 가면 사라지는 옵션입니다 




Enable Distortion

디스토션 기능이 발동됩니다. Grabpass{}를 가동시켜 뒤 이미지를 구깁니다 

NormalMap 에 텍스쳐가 들어 있어야 하고, 

Strength로 강도를 조절하고 

Blend로 투명하게 합니다. 




Maps


그 외의 텍스쳐 옵션은 기본 Standard Shader와 동일합니다. 

물론 훨씬 기능은 축약되어 있습니다 

AO도 없고 UV 타일링 기능 같은것도 없습니다 










  1. 그런데 가끔씩 이걸 누르면 파티클 쪽에 에러가 나오던데, 이럴 때는 해당되는 에러메뉴의 텍스쳐를 미리 적용시켜서 다시 어플라이를 누르면 됩니다. 왠지는 대충 짐작가지만 참으로 귀찮네요. 물론 한두개 빠져도 동작은 잘 됩니다 [본문으로]
  2. 아래는 그림자를 켠 모습입니다. 파티클 옵션에서 끌 수 있습니다 [본문으로]
반응형

댓글