[์‹œ๋ฆฌ์ฆˆ] TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 1
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 2: ๊ฒŒ์ž„์˜ ๊ตฌ์„ฑ ์š”์†Œ
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 3: ์นด๋“œ
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 4: ์ฐจ๋ก€์˜ ๊ตฌ์„ฑ
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 5: ์นด๋“œ์˜ ๋ฐฐ์น˜
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 6: ์นด๋“œ ํ–‰๋™๊ณผ ์Šคํƒ
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 7: ์ „ํˆฌ์™€ ๊ฒŒ์ž„์˜ ๋
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 8: ์นด๋“œ์˜ ๊ตฌํ˜„
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 9: ๊ณ„์ • ์‹œ์Šคํ…œ ๊ตฌํ˜„
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 10: ๋ณด๊ด€ํ•จ ๊ตฌํ˜„
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 11: ๋งค์น˜๋ฉ”์ดํ‚น ๊ตฌํ˜„
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 12: ํ”„๋กœํ•„ ์‹œ์Šคํ…œ ๊ตฌํ˜„
ยท TCG ํ‹ฐ๋ฅด ๋‚˜ ๋…ธ๊ทธ(๊ฐ€์ œ) ๊ฐœ๋ฐœ ์ผ์ง€ - 13: ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ๊ตฌํ˜„


1. ๊ฐœ์š”

ย ๊ฐœ๋ฐœ ์ผ์ง€ ์“ฐ๋ฉด์„œ ๊ตฌํ˜„ํ•œ ๋‚ด์šฉ ๋ณด์—ฌ์ฃผ๋А๋ƒ๊ณ  ์„ค๋ช…์€ ์งง์•˜๋˜ ๊ฑฐ ๊ฐ™์•„์„œ ์ด๋ฒˆ ์ผ์ง€์—๋Š” ์นด๋“œ Prefab์—์„œ๋ถ€ํ„ฐ ์นด๋“œ์˜ ๋ฐฐ์น˜๊นŒ์ง€ย 

์–ด๋–ค ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด๋ณผ๊นŒํ•ฉ๋‹ˆ๋‹ค.

์š”์ฆ˜ ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ์ฏค์€ TCG ๊ตฌํ˜„ ๊ด€๋ จ ์งˆ๋ฌธ๋„ ์˜ฌ๋ผ์˜ค๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉดํ•˜๋Š”? ๊ทธ๋Ÿฐ?



ย 2. ์นด๋“œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b42d15d2059b70009c4a8dfc51ccebfdad2fbd13fc902dcfed96fdfd90f0febfc150

<๊ทธ๋ฆผ 1. Cardย Prefab>

ย 

ย ์นด๋“œ ๊ฒŒ์ž„์ด๋‹ˆ๊นŒ ๊ฒŒ์ž„ ์‹œ์ž‘ํ•  ๋•Œ ํ”Œ๋ ˆ์ด์–ด์˜ ๋ฑ ๋งŒํผ ์นด๋“œ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ์นด๋“œ์˜ ์ˆ˜๊ฐ€ ๊ฒŒ์ž„ ๊ทœ์น™์— ๋”ฐ๋ผ์„œ ๋Š˜์—ˆ๋‹ค ์ค„์—ˆ๋‹ค ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ,ย 

์–ธ์ œ๋“ ์ง€ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ๊ดดํ•  ์ˆ˜ ์žˆ๊ฒŒ ์นด๋“œ๋ฅผ Prefab์œผ๋กœ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Prefab์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์šฐ์„  Hierarchy์—์„œ ๋นˆ ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑํ•œ ๋’ค, ์šฐํด๋ฆญ -> UI -> Image ํ•ด์„œ Image ์ถ”๊ฐ€ํ•˜๊ณ  Image ํฌ๊ธฐ๋ฅผ ์ ๋‹นํžˆ ์นด๋“œ ํฌ๊ธฐ๋ผ ์ƒ๊ฐํ•˜๊ณ  ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์œ„ ๊ทธ๋ฆผ์—์„ ย ์Šคํƒ ๋‹ค๋“œ ์‚ฌ์ด์ฆˆ ๋น„์œจ์ธ 3:4๋กœ ์„ค์ •).ย 

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์„ Card๋กœ ๋ฐ”๊พธ๊ณ  ํ”„๋กœ์ ํŠธ์˜ Resources ํด๋”์— ๋Œ์–ด๋‹ค ๋„ฃ์–ด์„œ Prefab์œผ๋กœ ๋งŒ๋“ค๋ฉด๋ฉ๋‹ˆ๋‹ค.


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b72d15d2059bbc73971c5f1604db89d16bd1c337ded5bcf125304c6fc6e8acbce7a593745c065ffba0320205ace8c54d8c

<๊ทธ๋ฆผ 2. Cardย Prefab Component>


ย ์ด์ œ ์นด๋“œ์˜ ๋‚ด์šฉ๋ฌผ์„ ์ฑ„์›Œ์ค˜์•ผํ•˜๋‹ˆ๊นŒ ์นด๋“œ์˜ ์ •๋ณด์™€ ๊ด€๋ จ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์นด๋“œ์— ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.

์ €์˜ ๊ฒฝ์šฐ์—๋Š” Card(์›๋ณธ ์นด๋“œ ์ •๋ณด, CardViz์— ํ• ๋‹น), CardInstance(ํ˜„์žฌ ์นด๋“œ ์ •๋ณด ๋ฐ ์™ธ๋ถ€์™€ ์ƒํ˜ธ์ž‘์šฉ), CardViz(์นด๋“œ ์ •๋ณด์˜ย ์‹œ๊ฐ์  ๋ถ€๋ถ„ ์ถœ๋ ฅ ๊ด€๋ จ) ์ด๋ ‡๊ฒŒ 3 ์ข…๋ฅ˜์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์นด๋“œ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ทธ ์ •๋ณด๋ฅผ ์นด๋“œ์— ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅย ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ๊ฐœ๋ฐœ ์ค‘์— ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ์กฐ๊ธˆ์”ฉ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b62d15d2059b9b407cdfd9476c59bea2be5e881d7c3f87f4d070b2e6f55f366a8e3b2f385586aecb12461696215e0476f07b91d0

<๊ทธ๋ฆผ 3. Card Prefab Hierarchy>

ย 

ย ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„์ด ๋˜์—ˆ๋‹ค๋ฉด ์Šคํฌ๋ฆฝํŠธ์— ์ €์žฅ๋œ ์นด๋“œ์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ์นด๋“œ์˜ ๊ฐ ์ •๋ณด์™€ ๊ด€๋ จ๋œ UI๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์Šคํฌ๋ฆฝํŠธ์— ํ• ๋‹นํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

UI ๋จผ์ € ์ถ”๊ฐ€ํ•˜๊ณ  ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.

์ดํ›„์—๋Š” ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ˆ˜์ •ํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.



3. ๊ฒŒ์ž„ ํŒ ๊ตฌํ˜„


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b12d13d93d9ca211648a8d55dd84f888d73ef24efea55cbbb929ff4382

<๊ทธ๋ฆผ 4. ๊ฒŒ์ž„ ํŒ>


ย ๊ทธ๋ฆผ 4.์— ์นด๋“œ๋ฅผ ๋†“์„ ์ˆ˜ ์žˆ๋Š” ์ดˆ๋ก์ƒ‰ ๋„ค๋ชจ๋ž‘ ํ•˜์–€์ƒ‰ ๋„ค๋ชจ ๊ทธ๋ฆฌ๊ณ  ์† ํŒจ ๊ตฌ์—ญ์ดย ์žˆ๋Š”๋ฐ ์ด๊ฑธ ๊ฒŒ์ž„ Scene์—์„œ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด

๊ฐ ์นธ์„ ๋นˆ ์˜ค๋ธŒ์ ํŠธ + ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์–ด์„œ ์›ํ•˜๋Š” ์œ„์น˜์— ๋ฐฐ์น˜ํ•˜๊ณ  ์นด๋“œ๋ฅผ ๊ทธ ์นธ์œผ๋กœ ์ด๋™์‹œํ‚ค๋ฉด๋ฉ๋‹ˆ๋‹ค.ย 

์ด๋™์€ SetParent() ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์•ฝ๊ฐ„ ์ˆ˜์ •ํ•ด์„œ ์ด๋™์‹œํ‚ค๋ฉด ๋˜๊ณ , ํŒจ๋‚˜ ๋ฑ์ฒ˜๋Ÿผ ์นด๋“œ๊ฐ€ ํ•œ ๊ตฌ์—ญ์— ์—ฌ๋Ÿฌ ์žฅ ์žˆ๋Š” ๊ฑธ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด,

๊ทธ ๊ตฌ์—ญ์— Unity์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋“ค์–ด์žˆ๋Š” Grid Layout ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค.


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b02d13de1d9c9806decdddd28e76db8d4e311e6df6c6766a2b35438a91ccba0c6a

<๊ทธ๋ฆผ 5. ๊ตฌ์—ญ ๊ด€๋ฆฌ์ž>


ย ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋งŒ๋“ค์–ด์ง„ ๊ตฌ์—ญ์€ ๊ตฌ์—ญ ๊ด€๋ฆฌย ์Šคํฌ๋ฆฝํŠธ๋ฅผย ScriptableObjectย  ์ƒ์„ฑํ•ด์„œ ๊ตฌ์—ญ์„ ๋‹ค ์ €์žฅํ•˜๊ณ  GameManager์— ์ถ”๊ฐ€ํ•œ ๋‹ค์Œย 

์นด๋“œ ์ด๋™์‹œํ‚ฌ ๋•Œ๋งˆ๋‹ค ๊ตฌ์—ญ ์œ„์น˜ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.



4. ์นด๋“œ ํ”Œ๋ ˆ์ด


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b32d15d2059b8e572bad4eb8ce3aff6d4a0423d8d70c8c50005d6b8f1b8849730bf88f

<๊ทธ๋ฆผ 6. ์นด๋“œ ํ”Œ๋ ˆ์ด>


ย ์นด๋“œ ํ”Œ๋ ˆ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋ช‡ ๊ฐ€์ง€ ๋‹จ๊ณ„๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.ย 

1. ํŒจ์˜ ์นด๋“œ๋ฅผ ๋“œ๋ž˜๊ทธํ•˜๋ฉด ๋งˆ์šฐ์Šค๋ฅผ ๋”ฐ๋ผ์˜จ๋‹ค.ย 

2. ์ด ์ƒํƒœ์—์„œ ์ ์ ˆํ•œ ๊ตฌ์—ญ ์œ„์—์„œ ๋งˆ์šฐ์Šค ์™ผ์ชฝ ๋ฒ„ํŠผ์„ ๋–ผ๋ฉด ์นด๋“œ๋ฅผ ๋‚ด๋ ค๋†“๋Š”๋‹ค.

3. ์ „์žฅ์— ๋‚ด๋ ค์ง„ ์นด๋“œ๋Š” ์š”๊ตฌ๋˜๋Š” ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๊ณ  ์ „์žฅ์— ๋†“์—ฌ์ง„๋‹ค. ๋น„์šฉ์„ ์ง€๋ถˆํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ํŒจ๋กœ ๋˜๋Œ์•„์˜จ๋‹ค.

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ํ–‰๋™์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๊ฐ ํ–‰๋™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1-1. ํŒจ์˜ ์นด๋“œ๋ฅผ ๋“œ๋ž˜๊ทธ ํ•˜๋Š” ์ค‘์ผ ๋•Œ ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋ฅผ ๋”ฐ๋ผ์˜ค๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ง„ Card Prefab์ธ Mouse Cardย ์ถ”๊ฐ€(๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™” ์‹œ์ผœ๋‘ ).

1-2. ํŒจ์˜ ์นด๋“œ๋ฅผ ๋“œ๋ž˜๊ทธ ํ•˜๋Š” ๋™์•ˆ ์„ ํƒ๋œ ํŒจ์˜ ์นด๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  Mouse Card์— ๋“œ๋ž˜๊ทธ ์ค‘์ธ ์นด๋“œ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ํ™œ์„ฑํ™”.

1-3. ๋“œ๋ž˜๊ทธ๊ฐ€ ์ค‘์ง€๋˜๋ฉด ๋‹ค์‹œ ํŒจ์˜ ์นด๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  Mouse Card ๋น„ํ™œ์„ฑํ™”.


2-1. ํŒจ์˜ ์นด๋“œ๋ฅผ ๋“œ๋ž˜๊ทธํ•˜๋Š” ๋™์•ˆ ๊ฐ ๊ตฌ์—ญ์— ์žˆ๋Š” ๊ฐ ๊ตฌ์—ญ์˜ ํฌ๊ธฐ์™€ ๋™์ผํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ ย RaycastTarget = true์ธ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ™œ์„ฑํ™”(๊ทธ๋ฆผ 5.์—์„œ ๊ฐ ๊ตฌ์—ญ์— ํ™œ์„ฑํ™”๋œ ๋ฐ์€์ƒ‰์˜ ํŒจ๋„).

2-2. ๋“œ๋ž˜๊ทธ๋ฅผ ๋ฉˆ์ท„์„ ๋•Œ Raycast๋กœ ์•„๋ž˜์— ์žˆ๋Š” ๊ตฌ์—ญ์„ ํ™•์ธ, ์นด๋“œ๋ฅผ ๋†“์„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์—ญ์ด๋ผ๋ฉด ํ•ด๋‹น ๊ตฌ์—ญ์œผ๋กœ ์นด๋“œ๋ฅผ ์ด๋™ํ•˜๋„๋ก Event ํ•จ์ˆ˜ ๊ตฌํ˜„.


3-1. ์นด๋“œ ํ”Œ๋ ˆ์ด ๋น„์šฉ์„ ์ฒดํฌํ•˜๊ณ  ๋น„์šฉ ์ง€๋ถˆ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋น„์šฉ ์ง€๋ถˆ ์ฒ˜๋ฆฌ, ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋‹ค์‹œ ํŒจ๋กœ ์ด๋™ํ•˜๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„.


a76d2cad352e782a93635a72f6917569cf723e3aeacec0359d53b22d14ff3d9bc9f4aba3f267f84edf391c2520dfc44c121b9138cc649c4f0502cf06851429f5

<๊ทธ๋ฆผ 7. ํ”Œ๋ ˆ์ด๋œ ์นด๋“œ>




ย ๊ถ๊ธˆํ•œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ย ๋Œ“๊ธ€๋กœ ์ ์–ด๋‘๋ฉด, ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์ด๋ฉด ๋‹ค์Œ ์ผ์ง€์—์„œ ์„ค๋ช…ํ•˜๋„๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ย