목록

Isometrix메모

—Isometrix 메모 끄적거림(정리안된)

해당 관련 sprite 타일 끼리 atlas로 묶어야 유니티에서 Tilemap Renderer에서 SortOrder가 제대로 작동한다.

(Mode Chunk인 경우) : -?

  • SortOrder - TopRight지만 제대로 안나옴

sortorder-1

  • atlas로 packing되어야 sprite을 일관성있게 sort할 수 있다.

sortorder-2

TilemapRenderer는 게임모드 진입 시 sprite atlas로 묶은 타일 sprite가 비로소 packing되는거 같다.

-> 에디터 상태에서 SceneView에는 해당 타일맵랜더러의 sort가 제대로 안이루어지고 playmode직입 시 제대로 이루어짐.
(chunk모드)

해결방안

Project Settings에 Camera Settings을 보면 Transparency Sort Mode가 있는데

일반적으로 카메라 위치에서 객체 중심까지의 거리를 기준으로 객체를 정렬하는데 Orthographic경우는 카메라 뷰 방향을 거리에 따라 정렬하고,

CustomAxis로 해당 축 기준으로 정렬 방식을 커스텀 할 수 있다.

-> 우리는 2d 쿼터뷰 방식이므로 0,1,0으로 y축에 따라 정렬 되도록 바꾸자

-> 즉 씬뷰에서 에디터 할 떄는 TilemapRenderer의 Mode를 individual로 바꿔준 다음,

Transparency Sort Mode를 y축정렬로 바꿔주자.
(build할떈 다시 Chunk모드로 바꿔줘야댐. 문서 설명으론 더 최적화된 모드이므로..)

-> sprite atlas사용 안하는 개별 텍스쳐이면 굳이 chunk모드를 사용할 필요 없다.(individual이랑 다를바 )

-> Chunk 모드가 개별 애셋을 올바르게 정렬하지 않는 이유는 서로 다른 텍스처에서 왔기 때문에 일괄 적으로 렌더링 할 수 없기 때문

Y축 Z(높이느낌)으로 정렬되게 하고싶은데, Chunk는 Z축 반영 안한다… 왜 Z as Y 옵션 만든지 모르겠다

-> 우리가 원하는 Y축 기준 정렬이면서 Z값에 따라 높이를 주려면 individual모드로 바꿔주고 Transparency Sort Custom을 (0, 1, -1)로 해줘야 원하는 sorting이 되는거 같다.
(실은 건물같이 높이를 주고 싶으면 sorting order 더 높은 레이어를 추가해둬도 상관은없.)


—2019 - 03 - 21

C# -> modulo(%)연산자 float에는 작동이 잘 안되므로

Unity에서는 Mathf.Repeat이용(float에서도 작동된다)