AI/Unity

[2026-02-08] ์Šค๋„์ฟ ์บฃ

blacknabis 2026. 2. 8. 22:51

 

๋ฉ”์ธ๋ฉ”๋‰ด. ์šฐ๋ฆฌ ํ‚คํ‚ค ๋“ฑ์žฅ
๊ฒŒ์ž„ ํ™”

 

 

[2026-02-08] Visual Refinement & TMP Migration

๐ŸŽจ Visual Improvements (๋น„์ฃผ์–ผ ๊ฐœ์„ )

  • ๊ฒŒ์ž„ ์—์…‹ ์žฌ์ƒ์„ฑ:
    • ComfyUI ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๋” ๊น”๋”ํ•˜๊ณ  ๋ฏธ๋‹ˆ๋ฉ€ํ•œ ์Šคํƒ€์ผ์˜ ์ˆซ์ž์™€ ๋ฐฐ๊ฒฝ ์—์…‹์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
    • UI ๋ฐฐ๊ฒฝ(ํŒ์—…, ๋ณด๋“œ ๋“ฑ)์„ ์ผ๊ด€๋œ ํ†ค์œผ๋กœ ์žฌ์ƒ์„ฑํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ํด๋”๋ฅผ Images/๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ ์ •๋ฆฌ:
    • Generated/Images/ -> Images/๋กœ ๋ฆฌ์†Œ์Šค ํด๋” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ , AudioManager, SudokuGameUI, SettingsPopup ๋“ฑ ๊ด€๋ จ ์Šคํฌ๋ฆฝํŠธ ๊ฒฝ๋กœ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ›  TextMeshPro (TMP) ์ „ํ™˜

  • ์ปดํฌ๋„ŒํŠธ ๊ต์ฒด ์ž‘์—…:
    • ๊ธฐ์กด Text (Legacy) ์ปดํฌ๋„ŒํŠธ๋ฅผ TextMeshProUGUI๋กœ ์ „๋ฉด ๊ต์ฒดํ•˜์—ฌ ํ…์ŠคํŠธ ํ’ˆ์งˆ๊ณผ ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ–ˆ์Šต๋‹ˆ๋‹ค.
    • MigrateToTMP ์—๋””ํ„ฐ ํˆด์„ ์ œ์ž‘ํ•˜์—ฌ ์”ฌ๊ณผ ํ”„๋ฆฌํŒน ๋‚ด์˜ ํ…์ŠคํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž๋™ ๋ณ€ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ˆซ์ž ํ‘œ์‹œ ๋ฐฉ์‹์„ ์ด๋ฏธ์ง€ ์Šคํ”„๋ผ์ดํŠธ์—์„œ TMP ํ…์ŠคํŠธ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌํŒน ์ˆ˜์ •:
    • SudokuCell.prefab ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ ์œ ์‹ค๋œ valueText ์ฐธ์กฐ๋ฅผ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•ด Fixer.cs ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์ˆ˜๋™ YAML ํŽธ์ง‘์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ› Bug Fixes & Troubleshooting

  • Asset Version Conflict ํ•ด๊ฒฐ:
    • ํ”„๋ฆฌํŒน ์ˆ˜์ • ์ค‘ ๋ฐœ์ƒํ•œ "Build asset version error"๋ฅผ Unity Asset Database ๊ฐ•์ œ ์ƒˆ๋กœ๊ณ ์นจ(Force Refresh)์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ์ˆ˜์ •:
    • SudokuCellUI.cs ๋ฐ SudokuGameUI.cs์—์„œ ๋ฐœ์ƒํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ˆ„๋ฝ ๋ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๊ด€๋ จ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

โญ๏ธ Next Steps (๋‹ค์Œ ๊ณ„ํš)

  • ํ•ด์ƒ๋„๋ณ„ UI ํ…Œ์ŠคํŠธ ๋ฐ ํฐํŠธ ํฌ๊ธฐ ๋ฏธ์„ธ ์กฐ์ •.
  • ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด TMP ์ˆซ์ž ๊ฐ€๋…์„ฑ ๊ฒ€์ฆ.

[2026-02-08 Session 4] Main Menu Renewal (๋ฉ”์ธ ๋ฉ”๋‰ด ๋ฆฌ๋‰ด์–ผ)

๐ŸŽจ UI & UX Improvements (UI/UX ๊ฐœ์„ )

  • ๋ฉ”์ธ ๋ฉ”๋‰ด ๊ตฌ์กฐ ๋ณ€๊ฒฝ:
    • ๊ธฐ์กด ํƒ€์ดํ‹€ ์ œ๊ฑฐ ๋ฐ ์ƒˆ๋กœ์šด ๊ณ ์–‘์ด ๋งˆ์Šค์ฝ”ํŠธ(Mascot_Normal) ์ค‘์‹ฌ์˜ ๋ ˆ์ด์•„์›ƒ ์ ์šฉ.
    • ์„ค์ •(Settings) ๋ฐ ์ข…๋ฃŒ(Exit) ๋ฒ„ํŠผ์„ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์—ฌ ์ ‘๊ทผ์„ฑ์„ ๋†’์ด๊ณ , ํ™”๋ฉด ์ค‘์•™์„ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌ.
    • ์‹œ์ž‘(Start) ๋ฒ„ํŠผ๊ณผ ํ†ต๊ณ„(Stats) ๋ฒ„ํŠผ์€ ์œ ์ง€ํ•˜๋˜, ์ด์–ดํ•˜๊ธฐ/์ƒˆ ๊ฒŒ์ž„ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ ๋กœ์ง์€ ์ œ๊ฑฐํ•˜๊ณ  ์‹ฌํ”Œํ•˜๊ฒŒ ์œ ์ง€.
  • ์ƒˆ๋กœ์šด ์—์…‹ ์ƒ์„ฑ ๋ฐ ์ ์šฉ:
    • ComfyUI ๊ธฐ๋ฐ˜์˜ ์—์…‹ ์ƒ์„ฑ ๋„๊ตฌ(Main Menu Assets Generator)๋ฅผ ์ปค์Šคํ…€ ์ œ์ž‘ํ•˜์—ฌ Unity ์—๋””ํ„ฐ ๋‚ด์—์„œ ํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ฆ‰์‹œ ์ƒ์„ฑ.
    • ์ƒ์„ฑ๋œ ์—์…‹:
      • Settings_Icon: ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ชจ์–‘์˜ ์ง๊ด€์ ์ธ ์„ค์ • ์•„์ด์ฝ˜.
      • Exit_Icon: ๋ช…ํ™•ํ•œ ์ข…๋ฃŒ(X/๋‹ซ๊ธฐ) ์•„์ด์ฝ˜.
      • Mascot_Normal: ๋ฉ”์ธ ํ™”๋ฉด์„ ์žฅ์‹ํ•˜๋Š” ๊ท€์—ฌ์šด ๊ณ ์–‘์ด ์บ๋ฆญํ„ฐ.

๐Ÿ›  Script & Prefab Updates (์Šคํฌ๋ฆฝํŠธ ๋ฐ ํ”„๋ฆฌํŒน ์—…๋ฐ์ดํŠธ)

  • MainMenuUI.cs & MainMenuScene.cs:
    • SettingsButton, ExitButton, MascotImage ์ฐธ์กฐ ํ•„๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„.
    • ๋ถˆํ•„์š”ํ•œ Canvas ๊ฐ•์ œ ์„ค์ • ์ฝ”๋“œ(EnsureCanvasSetup) ๋ฐ ๋™์  ํ…์ŠคํŠธ ๋ณ€๊ฒฝ ๋กœ์ง(UpdateStartButtonText) ์ œ๊ฑฐ๋กœ ์ฝ”๋“œ ๊ฐ„์†Œํ™”.
    • ํ”„๋ฆฌํŒน(MainMenuScene)์— UI ์š”์†Œ(SettingsButton, ExitButton, MascotImage)๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ตฌ์กฐ ์™„์„ฑ.
  • Editor Tooling:
    • MainMenuAssetsGenerator.cs: workflow_api.json ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์†์‰ฝ๊ฒŒ ๊ฒŒ์ž„ ์Šคํƒ€์ผ์— ๋งž๋Š” ์•„์ด์ฝ˜๊ณผ ๋งˆ์Šค์ฝ”ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›.

[2026-02-08 Session 5] UI Scaling & Polish (UI ์Šค์ผ€์ผ๋ง ๋ฐ ํŽธ์˜์„ฑ ๊ฐœ์„ )

๐Ÿ› UI Scaling & Glitch Fix (UI ์Šค์ผ€์ผ๋ง ๋ฐ ๊ธ€๋ฆฌ์น˜ ์ˆ˜์ •)

  • ๋ฉ”์ธ ๋ฉ”๋‰ด ์Šค์ผ€์ผ๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ:
    • MainMenuScene.prefab์˜ Canvas ์„ค์ •์„ Screen Space - Overlay๋กœ ์˜๊ตฌ ์ˆ˜์ •ํ•˜๊ณ , RectTransform ์Šค์ผ€์ผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ๊ฒŒ์ž„ ์‹œ์ž‘ ์‹œ UI๊ฐ€ ์ž‘๊ฒŒ ๋ณด์ด๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ.
    • ๋Ÿฐํƒ€์ž„์— ์บ”๋ฒ„์Šค ์„ค์ •์„ ๊ฐ•์ œ๋กœ ๋ณ€๊ฒฝํ•˜๋˜ MainMenuScene.cs์˜ ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์ดˆ๊ธฐํ™” ๋กœ์ง ์•ˆ์ •ํ™”.

๐Ÿ›  Feature Updates (๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ)

  • GameScene Numpad ํฐํŠธ ๊ต์ฒด:
    • ๊ธฐ์กด ์ด๋ฏธ์ง€(Image) ๊ธฐ๋ฐ˜์˜ ๋„˜ํŒจ๋“œ ํ”„๋ฆฌํŒน(Btn_1~Btn_9) ๋‚ด NumImg๋ฅผ TextMeshProUGUI๋กœ ์ „๋ฉด ๊ต์ฒด.
    • ๋ณ„๋„์˜ ํ…์Šค์ฒ˜ ๊ด€๋ฆฌ ์—†์ด ํฐํŠธ ์Šคํƒ€์ผ๋ง๋งŒ์œผ๋กœ ์ˆซ์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ ์ฆ๋Œ€.
  • Audio Mute Persistence (์‚ฌ์šด๋“œ ์„ค์ • ์œ ์ง€):
    • ๋ฌธ์ œ ํ•ด๊ฒฐ: ๊ฒŒ์ž„ ์žฌ์‹œ์ž‘ ์‹œ ์‚ฌ์šด๋“œ ์„ค์ •(BGM ๋„๊ธฐ)์ด ๋ฌด์‹œ๋˜๊ณ  ์Œ์•…์ด ์žฌ์ƒ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •.
    • ์ˆ˜์ • ๋‚ด์šฉ: AudioManager.Start()์—์„œ PlayBGM() ํ˜ธ์ถœ ์‹œ ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์„ค์ •(_bgmEnabled)์„ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€.
๋ฐ˜์‘ํ˜•