쉐이더 2

셰이더를 파티클에 적용할 때 체크해보면 좋을 것들

최근 작업하면서 쉐이더를 파티클에 적용하던 중 문제가 생겼다. 대부분의 경우 파티클에 얹으면 예쁘게 잘 나오지만, 커스텀 쉐이더의 경우 종종 설정에 따라 작동이 안할 수도 있기 때문이다. 대부분의 셰이더가 적용된 매터리얼의 경우 이렇게 예쁘게 나오지만, 종종 파티클로 인식을 하지 못할 경우 체크해야 할 게 몇가지 있어 기록을 위해 작성해봤다. Q. 작업 환경이 다를 경우 만약 UI Image 컴포넌트를 사용하는 캔버스를 사용 중이라면 파티클 시스템과 랜더링 지원 기반이 다르므로 사용에 제한이 가는 옵션들이 있다. 예를들면 파티클 시스템은 버텍스를 기반으로 작동하고 마스킹을 위해 Sprite Mask 를 사용해야 하는 반면, Image 컴포넌트를 사용 중이라면 Sprite Mask 만 지원하는 파티클 시스..

개발/유니티 2023.08.24

흑백 셰이더를 만들어보자(feat. dot 함수에 관하여)

유니티 셰이더 스타트업 책을 읽으면서 흑백 셰이더를 만들어보았다. 책에서는 r.g.b의 각 값을 더한 후 해당 값만큼 나눈 값을 계산하면 흑백이 나온다고 적혀있었다. 예를들면 o.albedo = (c.r + c.g + c.b)/3; 이렇게 써주는데, 이는 -float3( (c.r + c.g + c.b)/3, (c.r + c.g + c.b)/3, (c.r + c.g + c.b)/3)를 하나로 축약하여 적은것과 같다. 코드는 다음과 같다. { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } CGPROGRAM #pragma surface surf Standard sampler2D..

개발/유니티 2023.05.31
반응형