Relative UI Layout - cheona-thousand-man/Unity-myBasics-Wiki GitHub Wiki
Canvas Scaler ์ค์
Canvas Scaler๋ UI์ ํฌ๊ธฐ์ ํด์๋๋ฅผ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ
- Canvas GameObject ์ ํ Hierarchy ์ฐฝ์์ UI์ Canvas GameObject ์ ํ
- Canvas Scaler ์ปดํฌ๋ํธ ์ค์
- Inspector ์ฐฝ์์ Canvas Scaler ์ปดํฌ๋ํธ ์ ํ
- UI Scale Mode๋ฅผ Scale With Screen Size๋ก ์ค์
- ๊ธฐ์ค ํด์๋ ์ค์ Reference Resolution ํ๋์ ๊ธฐ์ค ํด์๋ ์ค์ (์: 1080x1920).
- ๊ธฐ๋ณธ ํ๋ฉด ๋น์จ์ ๋ง์ถฐ UI๋ฅผ ์ค๊ณํ ํด์๋
- Screen Match Mode ์ค์
- Screen Match Mode๋ฅผ Match Width Or Height๋ก ์ค์ (ํ๋ฉด์ ๊ฐ๋ก์ ์ธ๋ก ๋น์จ ์ค ์ด๋ค ๊ฒ์ ๋ ์ค์์ ํ ์ง ๊ฒฐ์ )
- Match ์ฌ๋ผ์ด๋๋ฅผ ์กฐ์ ํ์ฌ ๊ฐ๋ก์ ์ธ๋ก์ ๋น์จ์ ์ด๋ป๊ฒ ๋ง์ถ์ง ์ค์ (0์ ๊ฐ๋ก ์ฐ์ , 1์ ์ธ๋ก ์ฐ์ )
Anchors (์ต์ปค) ์ค์
์ต์ปค๋ฅผ ์ฌ์ฉํ๋ฉด UI ์์๊ฐ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ์์น/ํฌ๊ธฐ๊ฐ ์กฐ์
- UI ์์ ์ ํ
- Hierarchy ์ฐฝ์์ ์กฐ์ ํ๋ ค๋ UI ์์ ์ ํ
- RectTransform ์ค์
- Inspector ์ฐฝ์์ RectTransform ์ปดํฌ๋ํธ ์ ํ
- ์ต์ปค ์ค์
- Anchor Presets ๋ฒํผ (์ฌ๊ฐํ ์์ด์ฝ)์ ํด๋ฆญํ์ฌ ์ต์ปค ์ค์
- ๋ค์ํ ์ต์ปค ํ๋ฆฌ์
์ด ์์ผ๋ฉฐ, UI ์์๊ฐ ๋ถ๋ชจ ์์(์บ๋ฒ์ค)์ ๋ํด ์ด๋ป๊ฒ ์์นํ ์ง ๊ฒฐ์
(์๋ฅผ ๋ค์ด, UI ์์๋ฅผ ํ๋ฉด์ ์ค๋ฅธ์ชฝ ํ๋จ์ ๊ณ ์ ํ๋ ค๋ฉด ์ค๋ฅธ์ชฝ ํ๋จ ์ต์ปค ์ค์ )
- ์ต์ปค ์กฐ์
- ์ต์ปค์ ํจ๊ป Pos X, Pos Y, Width, Height ๊ฐ์ ์ค์ ํ์ฌ UI ์์๊ฐ ์ต์ปค ์์น์ ๋ฐ๋ผ ์๋์ ์ผ๋ก ์กฐ์ ๋๋๋ก ์ง์
Flexible Layouts ์ฌ์ฉ
Flexible Layouts (์ ์ฐํ ๋ ์ด์์) ์์คํ ์ ์ฌ์ฉํ์ฌ UI ์์๋ค์ด ๋ถ๋ชจ ์ปจํ ์ด๋์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฐ์น๋๋๋ก ์ง์
- Layout Group ์ถ๊ฐ
- UI ์์๋ฅผ ํฌํจํ Empty GameObject๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ๊ฐ์ฒด์ Horizontal Layout Group ๋๋ Vertical Layout Group ์ปดํฌ๋ํธ ์ถ๊ฐ
- ์ด๋ฅผ ํตํด ์์ ์์ ์๋์ผ๋ก ๋ฐฐ์น
- Content Size Fitter ์ฌ์ฉ
- Content Size Fitter ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ์ฌ ์์ ์์๋ค์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ถ๋ชจ ์ปจํ ์ด๋์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋๋ก ์ค์
- Horizontal Fit๊ณผ Vertical Fit ์ต์ ์ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ํฌ๊ธฐ์ ๋ฐ๋ผ ์กฐ์
Canvas์ Render Mode
Canvas์ Render Mode์ ๋ฐ๋ผ UI๊ฐ ํ๋ฉด์ ์ด๋ป๊ฒ ๋ ๋๋ง๋๋์ง ๊ฒฐ์
Screen Space - Overlay
- UI๊ฐ ํ๋ฉด์ ์ค๋ฒ๋ ์ด
- ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ์กฐ์
Screen Space - Camera
- UI๊ฐ ํน์ ์นด๋ฉ๋ผ์ ๋ทฐ์์ ๋ ๋๋ง
- ์นด๋ฉ๋ผ์ ์์ฑ์ ๋ฐ๋ผ ์กฐ์
World Space
- UI๊ฐ 3D ์๋ ๊ณต๊ฐ์ ๋ฐฐ์น
- UI์ ํฌ๊ธฐ์ ์์น๋ ์นด๋ฉ๋ผ์์ ๊ฑฐ๋ฆฌ, ํฌ๊ธฐ ๋ฑ์ ๊ณ ๋ คํ์ฌ ์กฐ์