프로젝트 일지/Unity

[Unity/TIL] 2D Sprite 정렬 기준 바꾸기 (Transparency Sort Axis)

톰마토 2025. 4. 22. 22:57

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

Transparency Sort Axis 수정

그럼 유니티에서 Order in Layer가 같은 Sprite는 Y축 좌표를 기준으로 정렬하게 된다. 


결과

뒤에 있을 땐 가려지고 앞에 있을 땐 앞에 그려진당

킹아


유의할 점

유의할 점은 Sprite들의 피벗을 발끝 기준으로 통일해야 어색하지 않다는 점이다!! 

아래 예시를 보면 좀비의 피벗은 중앙이고, 타워의 피벗은 위쪽에 있다. 그래서 Y축 좌표가 눈으로 보는 것과 다르게 계산되고 있어서, 타워가 더 앞에 있어야 할 것 같은 때에도 좀비가 앞에 그려지고 있다. 따라서 꼭 Sprite들의 피벗을 발끝으로 통일하는 것이 좋다!! 예시가 둘이 피벗이 달라서 애매하긴한데 좀비도 발끝에 맞춰야함!!

피벗을 맞추지 않은 경우