๐ŸŽฎ Unity6 UI -Visual, Interaction Components

VIN'Spellsยท2025๋…„ 8์›” 4์ผ

์œ ๋‹ˆํ‹ฐ6

๋ชฉ๋ก ๋ณด๊ธฐ
7/12
post-thumbnail

๐Ÿ“Œ ๋ณธ ํฌ์ŠคํŒ…์€ Unity UI ๊ณต์‹ ๋งค๋‰ด์–ผ์˜ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์œ ๋‹ˆํ‹ฐ UI๋Š” ๊ฒŒ์ž„๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ UI ํˆดํ‚ท์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ(GameObject) ๊ธฐ๋ฐ˜์˜ UI ์‹œ์Šคํ…œ์œผ๋กœ, ์ปดํฌ๋„ŒํŠธ(Components)์™€ ๊ฒŒ์ž„ ๋ทฐ(Game View)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฐฐ์น˜ํ•˜๊ณ , ์œ„์น˜๋ฅผ ์กฐ์ •ํ•˜๋ฉฐ, ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”ฎVisual Components

Text, Image, Raw Image, Mask, Effects

Text

Text ์ปดํฌ๋„ŒํŠธ๋Š” '๋ผ๋ฒจ(Label)'์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ํ‘œ์‹œ๋  ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ํ…์ŠคํŠธ ์˜์—ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”. ํฐํŠธ, ํฐํŠธ ์Šคํƒ€์ผ, ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฆฌ์น˜ ํ…์ŠคํŠธ(rich text) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ• ์ง€ ์—ฌ๋ถ€๋„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ์˜ ์ •๋ ฌ ๋ฐฉ์‹, ํ…์ŠคํŠธ๊ฐ€ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ณด๋‹ค ํด ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ์ •ํ•˜๋Š” ์ˆ˜ํ‰ ๋ฐ ์ˆ˜์ง ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(overflow) ์„ค์ •, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์— ๋งž์ถฐ ํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ ˆํ•ด ์ฃผ๋Š” 'Best Fit' ์˜ต์…˜ ๋“ฑ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Image

Image๋Š” Rect Transform ์ปดํฌ๋„ŒํŠธ์™€ Image ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Image ์ปดํฌ๋„ŒํŠธ์˜ 'Target Graphic' ํ•„๋“œ์— ์Šคํ”„๋ผ์ดํŠธ(sprite)๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , 'Color' ํ•„๋“œ์—์„œ ์ƒ‰์ƒ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Material๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Image Type ํ•„๋“œ๋Š” ์ ์šฉ๋œ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ๋‹ค์Œ ์˜ต์…˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • Simple : ์Šคํ”„๋ผ์ดํŠธ ์ „์ฒด์˜ ํฌ๊ธฐ๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.

  • Sliced : 3x3 ์Šคํ”„๋ผ์ดํŠธ ๋ถ„ํ• ์„ ํ™œ์šฉํ•˜์—ฌ, ํฌ๊ธฐ ์กฐ์ ˆ ์‹œ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์™œ๊ณก๋˜์ง€ ์•Š๊ณ  ์ค‘์•™ ๋ถ€๋ถ„๋งŒ ๋Š˜์–ด๋‚˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

  • Tiled : Sliced์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์ค‘์•™ ๋ถ€๋ถ„์„ ๋Š˜๋ฆฌ๋Š” ๋Œ€์‹  ํƒ€์ผ์ฒ˜๋Ÿผ ๋ฐ˜๋ณตํ•ด์„œ ์ฑ„์›๋‹ˆ๋‹ค. ํ…Œ๋‘๋ฆฌ๊ฐ€ ์ „ํ˜€ ์—†๋Š” ์Šคํ”„๋ผ์ดํŠธ์˜ ๊ฒฝ์šฐ, ์Šคํ”„๋ผ์ดํŠธ ์ „์ฒด๊ฐ€ ํƒ€์ผ๋ง๋ฉ๋‹ˆ๋‹ค.

  • Filled : Simple๊ณผ ๋™์ผํ•˜๊ฒŒ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ํ‘œ์‹œํ•˜์ง€๋งŒ, ์ •์˜๋œ ์›์ ๊ณผ ๋ฐฉํ–ฅ, ๋ฐฉ์‹์„ ๊ธฐ์ค€์œผ๋กœ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์ฑ„์›Œ ๋„ฃ์Šต๋‹ˆ๋‹ค.(Simple ๋˜๋Š” Filled๊ฐ€ ์„ ํƒ๋  ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” 'Set Native Size' ์˜ต์…˜์€ ์ด๋ฏธ์ง€๋ฅผ ์›๋ž˜ ์Šคํ”„๋ผ์ดํŠธ ํฌ๊ธฐ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.)

์ด๋ฏธ์ง€๋Š” 'Texture Type' ์„ค์ •์—์„œ 'Sprite (2D / UI)'๋ฅผ ์„ ํƒํ•˜์—ฌ UI ์Šคํ”„๋ผ์ดํŠธ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ผ์ดํŠธ๋Š” ๊ธฐ์กด GUI ์Šคํ”„๋ผ์ดํŠธ๋ณด๋‹ค ์ถ”๊ฐ€์ ์ธ ๊ฐ€์ ธ์˜ค๊ธฐ(import) ์„ค์ •์ด ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ์Šคํ”„๋ผ์ดํŠธ ์—๋””ํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ผ์ดํŠธ ์—๋””ํ„ฐ๋Š” ์ด๋ฏธ์ง€๋ฅผ 9-์Šฌ๋ผ์ด์‹ฑ(9-slicing)ํ•˜๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด๋Š” ์ด๋ฏธ์ง€๋ฅผ 9๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์Šคํ”„๋ผ์ดํŠธ ํฌ๊ธฐ๊ฐ€ ์กฐ์ ˆ๋  ๋•Œ ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์™œ๊ณก๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Raw Image

Image ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, Raw Image๋Š” ํ…์Šค์ฒ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (ํ…Œ๋‘๋ฆฌ ๋“ฑ์ด ์—†์Œ). Raw Image๋Š” ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์—๋Š” Image ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Mask

Mask๋Š” ๋ˆˆ์— ๋ณด์ด๋Š” UI ์ปจํŠธ๋กค์€ ์•„๋‹ˆ์ง€๋งŒ, ์ปจํŠธ๋กค์˜ ์ž์‹ ์š”์†Œ๋“ค์˜ ์™ธ๊ด€์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํฌ๋Š” ์ž์‹ ์š”์†Œ๋“ค์„ ๋ถ€๋ชจ์˜ ํ˜•ํƒœ์— ๋งž๊ฒŒ ์ œํ•œ(์ฆ‰, "๋งˆ์Šคํ‚น")ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž์‹์ด ๋ถ€๋ชจ๋ณด๋‹ค ํฌ๋”๋ผ๋„ ๋ถ€๋ชจ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„๋งŒ ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Effects

์‹œ๊ฐ์  ์ปดํฌ๋„ŒํŠธ์—๋Š” ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆผ์ž๋‚˜ ์™ธ๊ณฝ์„  ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํšจ๊ณผ๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ์ •๋ณด๋Š” UI ํšจ๊ณผ(UI Effects) ์ฐธ์กฐ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธ.


๐Ÿ”ฎInteraction Components

์ƒํ˜ธ์ž‘์šฉ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๊ทธ ์ž์ฒด๋กœ๋Š” ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š์œผ๋ฉฐ, ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ ค๋ฉด ํ•˜๋‚˜ ์ด์ƒ์˜ ์‹œ๊ฐ์  ์ปดํฌ๋„ŒํŠธ์™€ ๊ฒฐํ•ฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณตํ†ต ๊ธฐ๋Šฅ

๋Œ€๋ถ€๋ถ„์˜ ์ƒํ˜ธ์ž‘์šฉ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ณตํ†ต์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋ชจ๋‘ '์„ ํƒ ๊ฐ€๋Šฅ(selectable)'ํ•˜๋ฉฐ, ์ด๋Š” ์ƒํƒœ ๋ณ€ํ™”(์ผ๋ฐ˜, ํ•˜์ด๋ผ์ดํŠธ, ๋ˆŒ๋ฆผ, ๋น„ํ™œ์„ฑํ™”)๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๋‚ด์žฅ ๊ธฐ๋Šฅ๊ณผ ํ‚ค๋ณด๋“œ ๋˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ '์„ ํƒ ๊ฐ€๋Šฅ' ์š”์†Œ๋กœ ํƒ์ƒ‰(navigation)ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ณต์œ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด ๊ณต์œ  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Selectable ํŽ˜์ด์ง€์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒํ˜ธ์ž‘์šฉ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํฌ๋„ŒํŠธ์™€ ํŠน์ • ๋ฐฉ์‹์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. UI ์‹œ์Šคํ…œ์€ UnityEvent์— ์—ฐ๊ฒฐ๋œ ์ฝ”๋“œ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„ํŠผ (Button)

Button์€ ํด๋ฆญ๋˜์—ˆ์„ ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” OnClick UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Button ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Button ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ† ๊ธ€ (Toggle)

Toggle์€ ํ˜„์žฌ ์ผœ์ ธ ์žˆ๋Š”์ง€ ๊บผ์ ธ ์žˆ๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” Is On ์ฒดํฌ๋ฐ•์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ์‚ฌ์šฉ์ž๊ฐ€ ํ† ๊ธ€์„ ํด๋ฆญํ•  ๋•Œ ์ „ํ™˜๋˜๋ฉฐ, ์‹œ๊ฐ์ ์ธ ์ฒดํฌ๋งˆํฌ๋„ ๊ทธ์— ๋”ฐ๋ผ ์ผœ์ง€๊ฑฐ๋‚˜ ๊บผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” OnValueChanged UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Toggle ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Toggle ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ† ๊ธ€ ๊ทธ๋ฃน (Toggle Group)

Toggle Group์€ ์ƒํ˜ธ ๋ฐฐํƒ€์ ์ธ(mutually exclusive) ํ† ๊ธ€๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๊ทธ๋ฃน์— ์†ํ•œ ํ† ๊ธ€๋“ค์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ์„ ํƒ๋  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด ๋‹ค๋ฅธ ๋ชจ๋“  ํ† ๊ธ€๋“ค์ด ์ž๋™์œผ๋กœ ์„ ํƒ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.

Toggle Group ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Toggle Group ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šฌ๋ผ์ด๋” (Slider)

Slider๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’ ์‚ฌ์ด์—์„œ ๋“œ๋ž˜๊ทธํ•  ์ˆ˜ ์žˆ๋Š” ์‹ญ์ง„์ˆ˜ Value(๊ฐ’)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” OnValueChanged UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Slider ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Slider ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šคํฌ๋กค๋ฐ” (Scrollbar)

Scrollbar๋Š” 0์—์„œ 1 ์‚ฌ์ด์˜ ์‹ญ์ง„์ˆ˜ Value(๊ฐ’)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กค๋ฐ”๋ฅผ ๋“œ๋ž˜๊ทธํ•˜๋ฉด ๊ทธ์— ๋”ฐ๋ผ ๊ฐ’์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋กค๋ฐ”๋Š” ์ข…์ข… Scroll Rect ๋ฐ Mask์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋กค ๋ทฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์Šคํฌ๋กค๋ฐ”๋Š” 0์—์„œ 1 ์‚ฌ์ด์˜ Size(ํฌ๊ธฐ) ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ „์ฒด ์Šคํฌ๋กค๋ฐ” ๊ธธ์ด์—์„œ ํ•ธ๋“ค(๋“œ๋ž˜๊ทธ ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„)์ด ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ์Šคํฌ๋กค ๋ทฐ์—์„œ ์ฝ˜ํ…์ธ ์˜ ์–ด๋А ์ •๋„ ๋น„์œจ์ด ๋ณด์ด๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ œ์–ดํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. Scroll Rect ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ด ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋กค๋ฐ”๋Š” ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” OnValueChanged UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Scrollbar ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Scrollbar ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋“œ๋กญ๋‹ค์šด (Dropdown)

Dropdown์€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜ ๋ชฉ๋ก์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์˜ต์…˜์— ๋Œ€ํ•ด ํ…์ŠคํŠธ ๋ฌธ์ž์—ด๊ณผ ์„ ํƒ์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ธ์ŠคํŽ™ํ„ฐ์—์„œ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ์—์„œ ๋™์ ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์„ ํƒ๋œ ์˜ต์…˜์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” OnValueChanged UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Dropdown ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Dropdown ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž…๋ ฅ ํ•„๋“œ (Input Field)

Input Field๋Š” ํ…์ŠคํŠธ ์š”์†Œ(Text Element)์˜ ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” UnityEvent์™€, ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ์ง‘์„ ๋งˆ์ณค์„ ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ UnityEvent๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Input Field ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Input Field ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šคํฌ๋กค ๋ ‰ํŠธ (Scroll Rect / Scroll View)

Scroll Rect๋Š” ๋งŽ์€ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ž‘์€ ์˜์—ญ์— ํ‘œ์‹œํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Scroll Rect๋Š” ์ด ์ฝ˜ํ…์ธ ๋ฅผ ์Šคํฌ๋กคํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ Scroll Rect๋Š” Mask์™€ ๊ฒฐํ•ฉ๋˜์–ด ์Šคํฌ๋กค ๋ทฐ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ, ์ด ์Šคํฌ๋กค ๋ทฐ์—์„œ๋Š” Scroll Rect ๋‚ด๋ถ€์˜ ์Šคํฌ๋กค ๊ฐ€๋Šฅํ•œ ์ฝ˜ํ…์ธ ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง์œผ๋กœ ์Šคํฌ๋กคํ•˜๊ธฐ ์œ„ํ•ด ๋“œ๋ž˜๊ทธํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ Scrollbar์™€ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ฒฐํ•ฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Scroll Rect ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Scroll Rect ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

0๊ฐœ์˜ ๋Œ“๊ธ€