[๊ธฐ๋ณธ๊ฐ๋ ]
Unity์์ ์ ๊ณตํ๋ ์คํฌ๋กค ์ฌ๊ฐ ์์ญ(Scroll Rect) Component๋ก ์ฝํ ์ธ ๋ฅผ ์คํฌ๋กคํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค ์ ์์ต๋๋ค.
Scroll Rect์ ๊ธฐ๋ณธ ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ๋กํผํฐ
ํ๋กํผํฐ | ๊ธฐ๋ฅ ์ค๋ช |
Content | ์ปค๋ค๋ ์ด๋ฏธ์ง์ ๊ฐ์, ์คํฌ๋กค๋ UI ์์์ ์ฌ๊ฐ ํธ๋์คํผ์ ๋ํ ์ฐธ์กฐ์ ๋๋ค. |
Horizontal | ์ํ ์คํฌ๋กค๋ง์ ํ์ฑํํฉ๋๋ค. |
Vertical | ์์ง ์คํฌ๋กค๋ง์ ํ์ฑํํฉ๋๋ค. |
Movement Type | ์ ํ ์์, ํ์ฑ ์์ ๋๋ ์์น ํ์ . ํ์ฑ ์์์ด๋ ์์น ํ์ ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฝํ ์ธ ๊ฐ ์คํฌ๋กค ์ฌ๊ฐ ์์ญ ๋ฒ์ ๋ด์ ๋จธ๋ฌผ๊ฒ ๋ฉ๋๋ค. ํ์ฑ ์์ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝํ ์ธ ๊ฐ ์คํฌ๋กค ์ฌ๊ฐ ์์ญ ๊ฐ์ฅ์๋ฆฌ์ ๋ฟ์ผ๋ฉด ํ๊ธฐ๊ฒ ๋ฉ๋๋ค. |
Elasticity | ํ์ฑ ์์ ๋ชจ๋์์ ์ฌ์ฉํ ํ์ฑ ์ ๋์ ๋๋ค. |
Inertia | ๊ด์ฑ์ด ์ค์ ๋๋ฉด ๋๋๊ทธ ํ ํฌ์ธํฐ๋ฅผ ๋ผ๋๋ผ๋ ์ฝํ
์ธ ๊ฐ ๊ณ์ ์์ง์ด๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ, ๋๋๊ทธํด์ผ๋ง ์ฝํ ์ธ ๊ฐ ์์ง์ด๊ฒ ๋ฉ๋๋ค. |
Deceleration Rate | ๊ด์ฑ์ด ์ค์ ๋๋ฉด ๊ฐ์๋ฅ ์ ์ฝํ
์ธ ๊ฐ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ์ ์งํ๋์ง ๊ฒฐ์ ํฉ๋๋ค. ์ด ๊ฐ์ด 0์ด๋ฉด ๋ฐ๋ก ๋ฉ์ถ๊ฒ ๋ฉ๋๋ค. ๊ฐ์ด 1์ธ ๊ฒฝ์ฐ ์ฝํ ์ธ ๋ ๋๋ ค์ง์ง ์๊ณ ๊ณ์ ์์ง์ด๊ฒ ๋ฉ๋๋ค. |
Scroll Sensitivity | ์คํฌ๋กค ํ ๊ณผ ํธ๋ ํจ๋ ์คํฌ๋กค ์ด๋ฒคํธ ๋ฏผ๊ฐ๋์ ๋๋ค. |
Viewport | ์ฝํ ์ธ ์ฌ๊ฐ ํธ๋์คํผ์ ๋ถ๋ชจ์ธ ๋ทฐํฌํธ ์ฌ๊ฐ ๋ณํ์ ๋ํ ์ฐธ์กฐ์ ๋๋ค. |
Horizontal Scrollbar | ์ํ ์คํฌ๋กค๋ฐ ์์์ ๋ํ ์ ํ ์ฐธ์กฐ์ ๋๋ค. |
Visibility | ์คํฌ๋กค๋ฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ์จ๊ธธ์ง, ์ ํ์ ์ผ๋ก ๋ทฐํฌํธ๋ ํ์ฅํ ์ง ๊ฒฐ์ ํฉ๋๋ค. |
Spacing | ์คํฌ๋กค๋ฐ์ ๋ทฐํฌํธ ๊ฐ ๊ณต๊ฐ์ ๋๋ค. |
Vertical Scrollbar | ์์ง ์คํฌ๋กค๋ฐ ์์์ ๋ํ ์ ํ ์ฐธ์กฐ์ ๋๋ค. |
Visibility | ์คํฌ๋กค๋ฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ์จ๊ธธ์ง, ์ ํ์ ์ผ๋ก ๋ทฐํฌํธ๋ ํ์ฅํ ์ง ๊ฒฐ์ ํฉ๋๋ค. |
Spacing | ์คํฌ๋กค๋ฐ์ ๋ทฐํฌํธ ๊ฐ ๊ณต๊ฐ์ ๋๋ค. |
- ์ด๋ฒคํธ(Events)
ํ๋กํผํฐ | ๊ธฐ๋ฅ |
On Value Changed | ์คํฌ๋กค ์ฌ๊ฐ ์์ญ์ ์คํฌ๋กค ํฌ์ง์
์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถ๋๋ Unity ์ด๋ฒคํธ์
๋๋ค. ์ด๋ฒคํธ๋ ํ์ฌ ์คํฌ๋กค ํฌ์ง์ ์ Vector2 ํ์ ๋์ ์ธ์๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. |
Scroll rect ์ปดํฌ๋ํธ ์์ฑ์์ ๊ฐ์ฅ ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ์ Viewport์ Content ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
* Viewport : ํ์ํ๊ณ ์ ํ๋ ์ฝํ ์ธ ๊ฐ ๋ณด์ฌ์ง ๊ณณ
* Content : ํ์ํ๊ณ ์ ํ๋ ๋ด์ฉ๋ฌผ
[์ฌ์ฉ ๋ฐฉ๋ฒ]
1. ๋ฃจํธ Object์ ์คํฌ๋กค Scroll Rect ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ.
Viewport์๋ Mask ์ปดํฌ๋ํธ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ปจํ ์ธ ๋ฅผ ๋ณด์ฌ์ค ๋, Mask ์์ญ๊น์ง๋ง ๋ณด์ด๊ฒ ์ ํํ ์ ์์ต๋๋ค.
์ด๋, ์คํฌ๋กค๋๋ ๋ชจ๋ ์ฝํ ์ธ ๋ ๋ทฐํฌํธ์ ์์์ธ ๋จ์ผ ์ฝํ ์ธ Object์ Child ๊ฐ์ฒด์ฌ์ผ ํฉ๋๋ค.
2. ์คํฌ๋กค์ด ๋ณด์ด๊ฒ ํ ๊ฑด์ง, ๋ฐฐ๊ฒฝ์์ ์๊ฒ ํ ๊ฑด์ง ๋ฑ๋ฑ Custom ํ๊ธฐ
Horizontal Scrollbar, Vertical Scrollbar ๋ฅผ ๋ค ์์ค ์ํ.
Horizontal ์์ฑ๋ง ์ฒดํฌํด์ฃผ๋ฉด ๊ฐ๋ก๋ง ์คํฌ๋กค์ด ๊ฐ๋ฅํ๋ค.
Movement Type์ Elastic์ผ๋ก ์ฃผ๋ฉด ๋๋ถ๋ถ์์ ๋ ๋๊ธฐ์ง ์๊ณ ํ๊ธฐ๋ ๋ชจ์ ์ด ๊ฐ๋ฅํ๋ค.
3. ์ด ๋, ๋ง์ง๋ง๊น์ง ์คํฌ๋กค์ด ์๋๊ณ ํ๊ธด๋ค๋ฉด Content ๊ฐ์ฒด์ Content Size Fitter๋ฅผ ๋ฌ์์ค๋ค.
Content Size๊ฐ ์ง์์ ๊ทธ๋ฐ ๊ฒ.
Content Size Fitter์ Horizontal Fit ์์ฑ์ Preferred Size๋ก ๋ถ์ฌํ๋ฉด Content ํฌ๊ธฐ๊ฐ ์์ ๊ฐ์ฒด์ ๊ฐ๋ก ๊ธธ์ด๋งํผ ํ ๋น๋๊ธฐ ๋๋ฌธ์ ๋๊น์ง ์คํฌ๋กค์ด ๊ฐ๋ฅํด์ง๋ค.
+ ์ ๋ ฌ์ ์ํด Horizontal Layout Group ์ ๋ฌ์์ฃผ์๋ฐ.
4. Content ๋ด๋ถ์ ๊ฐ์ฒด ๊ฐ๋ก, ์ธ๋ก ์ด๋ฏธ์ง๊ฐ ์๋ณด์ธ๋ค๋ฉด Layout Group ์ Child Size ์์๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋๋ค.
Card List ๊ฐ๋ก ๋ฐฐ๊ฒฝ์ด ์๋์ค๊ณ ๋ฐฐ์น๊ฐ ์ด์ํ์๋๋ฐ Vertical Layout Group ์ Control Child Size, Child Force Expand ๋ฅผ ์ ์ฉํด์ฃผ๋ ์ ๋ณด์๋ค.
๐ Unity Manual ์ฐธ๊ณ
https://docs.unity3d.com/kr/2019.4/Manual/script-ScrollRect.html
'๐ฎ Unity Study > Unity' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] UGUI - Anchor(๊ธฐ์ค), Pivot(๋) (0) | 2022.12.15 |
---|---|
[Unity LifeCycle] ์ ๋ํฐ ์๋ช ์ฃผ๊ธฐ (0) | 2022.12.01 |
[Unity] TextMeshPro ํฐํธ์ถ๊ฐ ๋ฐ ํ๊ธ์ ๋ ฅ (0) | 2022.11.09 |
[Unity .gitignore] Unity .gitignore ํ์ผ ๋ง๋ค๊ธฐ (0) | 2022.10.20 |
[Unity ์ด๋ฏธ์ง ์ต์ ํ] Unity ์ด๋ฏธ์ง ์ต์ ํ ์ฐธ๊ณ (0) | 2022.10.13 |