레벨 디자인을 위해 데칼을 사용하려는데 텍스처가 많아서 이를 4 x 4 스프라이트 시트로 만들었다.
원하는 이미지를 PNG 파일로 다운 받아서 GluelT를 이용해 만든 것이다.
GluelT를 사용할 때 주의점은 이미지의 크기가 모두 동일해야 완전한 정사각형으로 만들어진다는 것이다.

프로젝트 창에서 우클릭해서 Create → Shader Graph → URP → Decal Shader Graph를 클릭해서
데칼에 사용할 셰이더 그래프를 생성한다.

셰이더 그래프를 다뤄보는 것은 처음이라 기존 Decal 그래프를 참고해서 만들었다.
빈 곳에서 마우스 우클릭으로 Create Node를 클릭하고 Texture 라고 검색해서 Sample Texture 2D 노드를 생성한다.

+ 버튼을 눌러서 Vector2와 Texture 2D 프로퍼티를 추가한다.
이 값은 인스펙터에서 조정할 수 있는 값이 된다.
| 프로퍼티 이름 | 타입 |
| BaseMap | Texture2D |
| UVOffset | Vector2 |
| TilSize | Vector2 |

Create Node로 Tiling And Offset 노드를 추가하고 방금 만든 프로퍼티를 끌어와서 연결한다.
Normal로 넣을 울퉁불퉁한 텍스처가 없어서 기본으로 두고 Normal Alpha만 0으로 조정했다.


프로퍼티별 Default Value도 수정했다.
BaseMap에 원하는 텍스처를 넣었다.
텍스처가 4 x 4의 스프라이트 시트이기 때문에 TileSize를 0.25 x 0.25 를 기본값으로 했다.



이제 이 셰이더 그래프를 사용하기 위해 머티리얼을 만들고,
Shader를 방금 만든 셰이더 그래프로 바꾼다.
Default Value에 BaseMap과 TileSize의 기본값을 넣었기 때문에 UVOffSet 값만 바꾸면 된다.
| (0, 0.75) | (0.25, 0.75) | (0.5, 0.75) | (0.75, 0.75) |
| (0, 0.5) | (0.25, 0.5) | (0.5, 0.5) | (0.75, 0.5) |
| (0, 0.25) | (0.25, 0.25) | (0.5, 0.25) | (0.75, 0.25) |
| (0, 0) | (0.25, 0) | (0.5, 0) | (0.75, 0) |
4 x 4 스프라이트 시트 같은 경우 원하는 위치에 따라 위의 값을 UVOffset으로 넣는다.

이렇게 1개의 텍스처를 이용해서 총 16개의 머티리얼을 만들었다.

URP Decal Projector 컴포넌트를 추가하고 여기에 방금 만든 머티리얼을 넣으면 된다.
다만, Tilling과 Offset 값을 수정할 수 있기 때문에 셰이더 그래프 없이도 만들 수 있다.


머티리얼을 만들어서 Shader를 기본적으로 있는 Shader Graphs/Decal로 지정한 뒤에
바로 URP Decal Projector의 머티리얼에 넣어서 Tilling 값과 Offset 값을 수정해도 된다.

이런 식으로 데칼 컴포넌트를 이용해서 벽에 낙서를 해보았다.