소소한 개발 공부

[Unity] 2D 탑다운 게임 | 아래쪽 오브젝트가 맨 위에 그려지게 하기 본문

개발/Unity

[Unity] 2D 탑다운 게임 | 아래쪽 오브젝트가 맨 위에 그려지게 하기

이내내 2021. 10. 4. 17:27

오브젝트가 화면 상 위로 올라갈 때(y 값 증가) 오브젝트가 상대적으로 멀어진다는 느낌을 주고자 한다. 

위의 그림처럼 오브젝트가 아래쪽에 있을 수록 나중에 그려지게 한다.

그렇게 하기 위해 Sorting layer를 사용한다.

private void Update() 
{
    this.GetComponent<SpriteRenderer>().sortingOrder = (int)(this.transform.position.y * -10);
}

sorting layer 값이 캐릭터의 y 값에 반비례하게 설정되도록 한다. (sorting layer는 값이 낮을 수록 빨리 그려지게 하기 때문에)

반비례를 위한 값(음수, 위의 코드에선 -10)을 캐릭터의 이동 단위에 맞추면 좀 더 정교하게 캐릭터의 sorting 순서를 조절할 수 있다.