안녕하세요 unity 2018 3.5f1 버전을 사용하고 있으며 Isometric 쿼터뷰 2d게임을 개발하고있습니다.
캐릭터들은 3d모델들을 전부사용하며 나머지 오브젝트들은 전부 스프라이트이미지(2d) 통 이미지째로 사용하고있습니다.
(건물등등) 3d모델을사용하기에 Orthographic 카메라로 3d프로젝트로 만들었으며 사실상 다른것들은 z축 고정해서 2d게임으로만들고있습니다.
제 3d모델들은 전부 Skinned Mesh Renderer를 사용해서 그리고 있구 유니티 기본 툰쉐이더를 적용하고있습니다.
그런데 2d스프라이트와 3d모델들(Skinned Mesh Renderer)간의 z 순서 (누가 위에오고 누가밑에올것인지?) 여부를 지금은 z축좌표를 정렬해서 (z축좌표를 서로 다르게줘서) 구분하고있는데 이 방법이 관리도 힘드록 여러 3d오브젝트들이있을경우 z축을 서로 얼마만큼 다르게줘야할지 등의 골치아픈문제가있더라구요. (z축을 1씩만 다르게주면 모델도 높이가있으니 겹치겠죠)
그래서 출력순서를 정해주는 다른방법을 사용하고싶어서 찾아보니 sorting layer란것을 찾아냈습니다. 다만 여기서 또 문제인게 2d sprite renderer에는 이게있는데 3d오브젝트를 그리는 skinned mesh renderer에는 인스펙터상 이걸 설정하는칸이없어서 검색해서 아래의 코드 참조하여서 커스텀하게 인스펙터에 sorting layer 를 뜨게해놓았습니다.
https://gist.github.com/nickgravelyn/7460288

다만 아무리 sorting layer나 order 같은걸 설정해도 동작을하지않더라구요.
같은 소트 레이어이며 order를 서로다르게줬더니 2d스프라이트와 2d스프라이트끼린 sort layer가 잘되는데
2d오브젝트와 3d 오브젝트끼리는 서로 동작을 안하는것은 물론 3d 오브젝트 끼리도 서로 동작을안하고 여전히
z좌표의 영향만 받더군요...
(원래와 똑같이 z좌표상 카메라에 가까운게 위에 그려지더군요..메시들 각 sort order값은 브레이크포인트로확인해본상태입니다.)
심지어 스크립트상으로 해당 스킨드 메시렌더러 컴포넌트불러와서 직접 값 설정해줘도 동작을하지않더군요.
위의 링크는 그냥 mesh renderer 에 대해서 sort layer설정의 경우 다들 해결했다는 댓글이보이는거같은데...
혹시 skinned mesh renderer는 sort layer 가 작동하지않다던가 이런게있을까요....?
(sortlayer나 sort order관련 필드나 프로퍼티가 있으니 당연히 동작할걸로 예상했습니다.)
만약이렇다면 이렇게 3d 오브젝트(스킨드 메시렌더러)와 2d 스프라이트간의 렌더링 우선순위는 정말 z좌표 가지고 하는수밖에없을까요...