유니티

캔버스 내 특정 UI만 위로 오게하고 싶다면...? (Canvas - Override Sorting)

bugmin 2024. 8. 23. 21:12

 

위의 사진에서 PAUSE라는 글씨위에 X와 체크 표시가 위에 올라가서 보기 좋지 않은 모습이다.

 

PAUSE라는 글씨는 여러 복잡한 이유로 캔버스를 이동시킬 수는 없는 상황이였고

 

이럴 때 쓸 수 있는 것이 Canvas의 Override Sorting이다.

 

가장 위에 올라와야하는 저 글씨 PauseTxt 에 찾아가 Canvas 컴포넌트를 달아준다.

 

그냥 달아주기만 하면 안되고 Override Sorting을 체크하고 Order in Layer를 높게 설정해주자 

여기선 20정도로 설정해주었다. 다른 UI요소들은 Order in Layer가 0~10 사이였기에 가장 높게 준 것이다.

 

 

이렇게하면 의도대로 PAUSE 이팩트가 맨 위로 올라가게 된다.

 

Override를 해서 사용하기 때문에 캔버스를 아예 하나 더 만드는 것보단 성능 부담이 덜하다고는 하나 어찌되었건 캔버스를 하나 더 쓰는 것이니 성능 면에서는 좋다곤 말못하겠으나

 

정말 여러 이유로 불가피한 상황에선 쓸만한 기법으로 보인다.