게임

스크롤러 에셋과 VerticalLayoutGroup의 저주

by 조루나 posted Mar 10, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


image.png

 

스크롤 창을 구현해 주는 에셋으로 EnhancedScroller를 쓰고 있었는데

이 에셋은 최대한 유니티 기본 컴포넌트를 활용하면서 굴러가게 설계했는지 ScrollRect도 쓰고 LayoutGroup도 활용하고 있었다.

 

 

 

 

 

 

Honeycam 2021-03-09 22-51-52.gif7.3 MB

아무튼 완벽한 스크롤창을 만드는 능력도 없고 귀찮아서 에셋써서 적당히 굴리고 있었는데...

 

 

 

 

 

 

 

Honeycam 2021-03-10 18-42-30.gif3.2 MB

거지같게도 스크롤러 Reload를 하거나 새 슬롯이 배치(== 오브젝트 풀 재활용)되면 저런 느낌으로

transform.position 반영이 이상하게 되는 증상이 발생

LateUpdate에서 transform.positon을 변경하도록 했는데도 저 난리였다.

그러다가 약 2일 정도 삽질을 통해 에셋이 런타임 중에 생성하던 VerticalLayoutGroup이 범인임을 알아냈다.

 

 

 

 

그리고 필요한 부분에

        //scrollerVLG.CalculateLayoutInputHorizontal();
        scrollerVLG.CalculateLayoutInputVertical();
        //scrollerVLG.SetLayoutHorizontal();
        scrollerVLG.SetLayoutVertical();

를 추가해서 레이아웃 그룹이 바로 refresh 되도록 했다.

 

 

 

 

 

Honeycam 2021-03-10 20-04-35.gif

아.... 편안...

 

 

 

 

 

 

-며칠 후-

 

Honeycam 2021-03-11 14-25-44.gif6.3 MB

 

에셋 거지같아서 그냥 직접 처음부터 만들어서 다 해결했어요.



Articles

1 2 3