๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ Development Study/๐Ÿ–ผ GameProgramming 2D

Imgui ๋ฅผ ์ด์šฉํ•œ Tool ํ”„๋กœ๊ทธ๋ž˜๋ฐ

by eazuooz 2023. 6. 29.

์˜ˆ์ œ :)

https://github.com/eazuooz/YamYamEngine/commit/8b83f796b62cad09fa54740d40e68fc5bc4df694

 

Deubg release ๋นŒ๋“œ์ด๋ฒคํŠธ ์„ค์ • · eazuooz/YamYamEngine@8b83f79

eazuooz committed Jun 15, 2023

github.com

 

IMGUI๋Š” ์ฆ‰์‹œ ๋ชจ๋“œ ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๊ฒŒ์ž„์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ„๋‹จํ•˜๊ณ  ์ฆ‰๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” UI ์‹œ์Šคํ…œ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. IMGUI๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Unity๋ฅผ ๋น„๋กฏํ•œ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฆฌํ…ํ‹ฐ๋“œ ๋ชจ๋“œ ๋˜๋Š” ์„ ์–ธ์  ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ธฐ์กด UI ์‹œ์Šคํ…œ๊ณผ ๋‹ฌ๋ฆฌ IMGUI๋Š” ์ธ์Šคํ„ดํŠธ ๋ชจ๋“œ ํŒจ๋Ÿฌ๋‹ค์ž„์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ๋ชจ๋“œ GUI์—์„œ๋Š” UI ์š”์†Œ๊ฐ€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋ฐ˜์‘ํ•˜์—ฌ ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์ง์ ‘ ๊ตฌ์„ฑ๋˜๊ณ  ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, UI๊ฐ€ ๋ณ„๋„๋กœ ์ €์žฅ๋˜๊ณ  ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค.

IMGUI๋Š” ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„๋˜์–ด ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฒŒ์ž„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฒ„ํŠผ, ์Šฌ๋ผ์ด๋”, ํ…์ŠคํŠธ ํ•„๋“œ, ํŒจ๋„๊ณผ ๊ฐ™์€ UI ์š”์†Œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ๋˜๋Š” ๋ฉ”์„œ๋“œ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ UI ์š”์†Œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ์กด ๋ Œ๋”๋ง ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.

IMGUI์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

ํšจ์œจ์„ฑ: IMGUI๋Š” ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค UI๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋ Œ๋”๋งํ•˜๋ฏ€๋กœ UI ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠนํžˆ UI๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ: IMGUI๋Š” UI ์š”์†Œ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด๋‹ค ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚œ ๋Œ€ํ™”ํ˜• ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„์†Œํ™”๋œ ํ†ตํ•ฉ: IMGUI๋Š” ๊ธฐ์กด ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ์˜ ์„ค์ •๊ณผ ์ข…์†์„ฑ๋งŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๋ฐ ์ œ์–ด: ๊ฐœ๋ฐœ์ž๋Š” IMGUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UI ์š”์†Œ์˜ ๋ชจ์–‘๊ณผ ๋™์ž‘์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ง€์ • ์Šคํƒ€์ผ, ๋ ˆ์ด์•„์›ƒ ๋ฐ ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ IMGUI์—๋Š” ๋ฆฌํ…์…˜ ๋ชจ๋“œ GUI ์‹œ์Šคํ…œ์— ๋น„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์žกํ•œ UI ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค๋ ค๋ฉด ๋” ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์  ์ฝ˜ํ…์ธ  ๋ฐ ๊ณ ๊ธ‰ UI ๊ธฐ๋Šฅ ์ธก๋ฉด์—์„œ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์œ ์—ฐ์„ฑ๊ณผ ์‚ฌ์šฉ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ IMGUI๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฒŒ์ž„์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ์ž‘ํ•˜๋Š” ์œ ์—ฐํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ, ํŠนํžˆ ๋ฐ˜์‘์„ฑ๊ณผ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ์ƒํ™ฉ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

'๐Ÿ“ Development Study > ๐Ÿ–ผ GameProgramming 2D' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Audio system (FMOD) ์‚ฌ์šฉ  (0) 2023.06.29
ํฌ์ŠคํŠธ ํ”„๋กœ์„ธ์‹ฑ ํšจ๊ณผ  (0) 2023.06.29
Particle System  (0) 2023.04.08
Compute Shader  (0) 2023.04.08
2D Light  (0) 2023.04.08

๋Œ“๊ธ€