적이 공격하는 범위를 DecalProjector를 이용해 표시했다.
먼저 DecalProjector를 사용하기 위해서는 URP나 HDRP를 사용중이어야 한다.
위와 같이 자신이 사용하는 렌더러 세팅 Asset을 찾아서 AddRendererFeature를 통해 Decal 기능을 추가한다.
그리고 Decal 탭에서 Use Rendering Layers 옵션도 체크해준다. 특정 레이어에만 데칼을 페인팅할 수 있게 해준다.
다음으로 빈 객체를 생성해서 DecalProjector 컴포넌트를 붙인다.
위와 같이 필요한 값들을 설정해주어야 하는데 여기서 칠해줄 머터리얼을 넣어줘야 한다.
머터리얼은 ShaderGraphs/Decal에서 기본적인 데칼 셰이더로 생성해주면 된다.
여기서 BaseMap 부분에 범위 표시에 사용할 텍스쳐를 넣어주면 된다.
이렇게 설정이 되었다면 DecalProjector가 담긴 객체의 Scale 및 Rotation등을 조정해서 원하는 범위를 원하는 레이어에 표시해주면 된다.
다만 이렇게 데칼프로젝터를 통해 표시하는 방법은 텍스쳐를 직접 넣어주어야 하는 것이 불편하고 해당 텍스쳐를 Scale값을 조정한 범위밖에 표시할 수 없다는 단점이 있다.
만약 훨씬 복잡하고 자유로운 범위를 표시하고 싶다면 직접 Shader를 만드는 방법밖에 없어 보인다.
'부트캠프' 카테고리의 다른 글
Animator 알아보기 (0) | 2023.11.28 |
---|---|
위치와 회전 계산하기 (0) | 2023.11.22 |
애니메이션의 상태판단 (0) | 2023.11.15 |
중간발표 (0) | 2023.11.13 |
1차 통합 (1) | 2023.11.09 |