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์˜ ํฌ๊ธฐ์™€ ์œ„์น˜๋Š” ์นด๋ฉ”๋ผ์™€์˜ ๊ฑฐ๋ฆฌ, ํฌ๊ธฐ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์กฐ์ •