상세 컨텐츠

본문 제목

1129 TIL - 스크롤 뷰

스파르타 코딩캠프/'24 Today I Learned

by lucar 2024. 11. 29. 21:46

본문

오늘 TIL 주제는 스크롤 뷰다

 

Unity 내부 UI 종류 중 하나로써 말 그대로 스크롤이나 터치앤드래그 형식으로 이동이 가능하게끔 해준다.

 

 

하이어러키 창 UI에서 생성할 수 있다.

기본적으로 UI이기 때문에 캔버스 내부에서 동작한다.

 

생성된 스크롤 뷰 내부에는 위 사진과 같은 내용물이 들어가있다.

스크롤 바들은 필수는 아니다. 삭제해주자. (필요하다면 삭제하지 말자)

 

 

인스펙터 창을 살펴보면

위의 내용물들이 참조가 되어있는 걸 볼 수 있는데

스크롤 바가 없다고 해서 작동하지 않는건 아니다.

 

Content는 스크롤 뷰 내부에 추가될 오브젝트를 담아두는 컨테이너이고

이 컨테이너가 없으면 작동하지 않으며

반드시 스크롤 할 오브젝트들을 이 안에 생성해야한다.

 

Horizontal과 Vertical 체크박스는 해제되면 해당 방향으로 스크롤 되지 않는다.

예를 들어 Horizontal이 켜져있을 때는

상하 좌우 모든 방향으로 이동하지만

 

Horizontal이 꺼지면 좌우로 이동할 수 없고 상하로만 이동하게된다.

그리고 이동을 보면 뭔가 아래로 스크롤을 해도 고정되지 않고 자꾸 제자리로 돌아오는 걸 볼 수 있는데

컨테이너(Content 오브젝트)의 사이즈 때문에 발생하는 현상이다.

 

Content Size Fitter 컴포넌트를 추가해주고 위아래로 스크롤 할거기 때문에 Vertical Fit을 Preferred Size로 설정해주자.

프레임 때문에 끊겨 보이는데 정상작동한다.

 

다시 인스펙터 창을 가져와서

 

Movement Type은 3가지 종류가 있는데

Unrestricted, Elastic, Clamped가 있으며

 

Unrestricted는 스크롤의 제한이 없어진다.

컨테이너 내부의 오브젝트 말고도 무한한 우주를 탐험 할 수 있다(쓰지말자)

unrestricted

Elastic은 기본 설정으로 스크롤의 가장 바깥 부분에서 더 당기면 유연하게 늘어났다가 다시 한계지점으로 돌아온다.

 

Clamp는 그런거 없고 그냥 한계지점에 다다르면 더 이상 스크롤 할 수 없다.

 

Interia는 관성으로 드래그 후 손을 떼도 속도를 유지하며 스크롤 되게하며

Deceleration Rate의 값을 설정하는 것으로 브레이크의 세기를 조절할 수 있다.

 

Scroll Sensitive는 이름만 봐도 감이 오듯 스크롤 자체의 민감도를 조정한다.\

 

스크롤 바들은 있다면 스크롤 바를 드래그 하는 것으로 빠르게 이동 가능하지만

없다고 해서 Scroll View가 멈추는 것은 아니다.

 

 

TTE

관련글 더보기