2D 프로젝트에서 Sprite Renderer에서 Order in Layer 값을 다르게 줘서 그려지는 순서를 조절한다. 그런데 같은 Order인 Sprite끼리 겹쳐있을 때 위에 있는 오브젝트가 더 앞에 그려지는 경우가 있다. 그걸 y 좌표에 따라 레이어를 정렬하도록 설정할 수 있다!!! (배우다 by 명민 튜터님!!!)
탑다운 뷰 게임에서는 Y값이 낮을수록 앞에 있어야 함
방법
Project Setting > Graphics > Transparency Sort Mode & Axis 을 수정하면 되는데, 우리 프로젝트는 URP를 사용하기 때문에 Render2D 데이터에서 직접 Transparency Sort Mode와 Sort Axis를 설정해줬다.
- Transparency Sort Mode : Custom Axis
- Transparency Sort Axis : 0, 1, 0
그럼 유니티에서 Order in Layer가 같은 Sprite는 Y축 좌표를 기준으로 정렬하게 된다.
결과
뒤에 있을 땐 가려지고 앞에 있을 땐 앞에 그려진당
유의할 점
유의할 점은 Sprite들의 피벗을 발끝 기준으로 통일해야 어색하지 않다는 점이다!!
아래 예시를 보면 좀비의 피벗은 중앙이고, 타워의 피벗은 위쪽에 있다. 그래서 Y축 좌표가 눈으로 보는 것과 다르게 계산되고 있어서, 타워가 더 앞에 있어야 할 것 같은 때에도 좀비가 앞에 그려지고 있다. 따라서 꼭 Sprite들의 피벗을 발끝으로 통일하는 것이 좋다!! 예시가 둘이 피벗이 달라서 애매하긴한데 좀비도 발끝에 맞춰야함!!
'프로젝트 일지 > Unity' 카테고리의 다른 글
[Unity/TIL] 최종 프로젝트 개발 일지 - 중복되는 코드 구조 변경 (1) | 2025.04.25 |
---|---|
[Unity/TIL] 2D 게임에서 특정 오브젝트 바라보도록 회전시키기 (7) | 2025.04.23 |
[Unity/TIL] 트러블슈팅 - 비동기 생성 함수 로직 오류 해결 (2) | 2025.04.21 |
[Unity/TIL] DataManager 사용성 개선 (2) | 2025.04.18 |
[Unity/TIL] '오집마' 최종 프로젝트 개발일지 (2) | 2025.04.16 |