ํ• ์ผ์„ ์ •๋ฆฌํ•˜๋ฉด ๋ญ”๊ฐ€ ์•ž์œผ๋กœ ํ• ์ผ์ด ์ž˜ ์ •๋ฆฌ๋ ์ค„ ์•Œ์•˜๋”๋‹ˆ ์˜คํžˆ๋ ค ๋ง‰๋ง‰ํ•ด์ ธ์„œ ํ•˜๊ธฐ๊ฐ€ ์‹ซ์–ด์กŒ๋‹ค.

๊ฒŒ์ž„ ๋กœ์ง ์ข€ ์ตํ˜€๋ณด๋ ค๊ณ  ์œ ํŠœ๋ธŒ ํŠœํ† ๋ฆฌ์–ผ์ด๋‚˜ ์งœ๊น๊ธฐํ•˜๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ์™œ ์ผ์ด ์ ์  ๋Š˜์–ด๋‚˜์ง€.



1. ๋ฉ”์ธ UI ์ž„์‹œ ์ œ์ž‘.



ํ”Œ๋ ˆ์ด์–ด ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” PlayerModel์„ ์ œ์ž‘.

Health๋“ฑ์˜ ์ , ์•„๊ตฐ ์ƒ๊ด€์—†๋Š” ์ •๋ณด๋Š” CharacterModel๋กœ, ํ”Œ๋ ˆ์ด์–ด๋งŒ ๊ฐ–๋Š” ์ •๋ณด๋Š” PlayerModel์— ๋„ฃ์—ˆ๋‹ค.


์ž„์˜๋กœ ๋ ˆ๋ฒจ์€ ๊ฒฝํ—˜์น˜ 100๋งˆ๋‹ค 1์”ฉ ์˜ค๋ฅด๊ฒŒ ํ–ˆ๋‹ค.





๊ฒฝํ—˜์น˜, ๋ ˆ๋ฒจ, ํ‚ฌ์นด์šดํŠธ ๋ฐ˜์‘.




2. ํˆฌ์‚ฌ์ฒด ๋ฌด๊ธฐ ์ถ”๊ฐ€.


ํˆฌ์‚ฌ์ฒด๊ฐ€ ๋‚˜๊ฐ€๋Š” ์ด์„ ์ถ”๊ฐ€ํ•จ. ํˆฌ์‚ฌ์ฒด์˜ ๊ตฌ์กฐ๋Š” ์บ๋ฆญํ„ฐ๋ฅผ ์ฐธ์กฐํ•ด์„œ ProjectileObject, ProjectileController, ProjectileMovement๋กœ ์ž‘์„ฑ.



Controller์˜ ํ•ต์‹ฌ ๋กœ์ง. ๋ฐœ์‚ฌํ›„ ์‹œ๊ฐ„์œผ๋กœ ๊ถค์ ์„ ๊ณ„์‚ฐํ•˜๋ฉด ์ธํ’‹๋”ฐ๋ผ ์›€์ง์ธ๋‹ค. ๋.



์ง์„ ์œผ๋กœ ๋‚˜๊ฐ€๋Š” ํƒ„ํ™˜์€ ์‹œ๊ฐ„๊ณผ ์ƒ๊ด€์—†์ด ์ง์ง„ํ•œ๋‹ค.



ProejctileObject์˜ ํ•ต์‹ฌ ๋กœ์ง.

ํƒ„ํ™˜ ์†๋„, ๋ฐ๋ฏธ์ง€ ๋“ฑ์˜ ๋ฌด๊ธฐ ์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  LateUpdate ๋งค ํ”„๋ ˆ์ž„ ๋งˆ๋‹ค Overlap๋˜๋Š” ์บ๋ฆญํ„ฐ์— ๋ฐ๋ฏธ์ง€๋ฅผ ์ค€๋‹ค.



Gizmo๋กœ ๋งŒ๋“  ํƒ„ํ™˜์˜ ๋ฐ๋ฏธ์ง€ ํŒ์ • ๋ฐ•์Šค.




3. ๋ฌด๊ธฐ ์žฅ์ฐฉ ์ˆ˜์ •.


๊ธฐ๋ณธ ๋กœ์ง์€ ๋ณ€๊ฒฝ๋œ๊ฒŒ ์—†์ง€๋งŒ EquipModel์—์„œ WeaponModel์„ ๋ฆฌ์ŠคํŠธ๋กœ ๊ด€๋ฆฌํ•˜๋„๋ก ํ–ˆ๋‹ค.




๋ฆฌ์ŠคํŠธ์— ๊ฐ™์€ ๋ฌด๊ธฐ๊ฐ€ ๋„˜์–ด์˜ค๋ฉด ๋ ˆ๋ฒจ์—… ์ฒ˜๋ฆฌ... ๊ฐ€ ์•„๋‹ˆ๋ผ ์•„๋งˆ ๊ทธ๋ƒฅ ํ•„ํ„ฐ๋ง๋ ๋“ฏ.

์ง€์›Œ์•ผ๊ฒ ๋‹ค.


LateUpdateSubject๋Š” ๊ฐ™์€ ํ”„๋ ˆ์ž„์— Equip์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋“ค์–ด์™”์„๊ฒฝ์šฐ์— ๋งˆ์ง€๋ง‰์— ํ•œ๋ฒˆ๋งŒ ํ†ต๋ณดํ•˜๋„๋ก ๋งŒ๋“  ํด๋ž˜์Šค์ž„.

WeaponObjectContainer๊ฐ€ EquipModel์„ ๊ตฌ๋…ํ•˜๊ณ  ์žˆ๊ณ , EquipModel์ด ๋ณ€๊ฒฝ๋˜๋ฉด WeaponObjectContainer์—์„œ

์‹ค์ œ WeapoIObject๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํŒŒ๊ดดํ•œ๋‹ค.


์–‘์†์— ๋ฌด๊ธฐ๋ฅผ ๋“œ๋Š” ๋А๋‚Œ์œผ๋กœ depth๋ฅผ ๋”ฐ๋กœ์คฌ๋Š”๋ฐ, ์‹œ์ธ์„ฑ์ด ๋ณ„๋กœ์ธ๊ฑฐ๊ฐ™๋‹ค.

์ฒซ๋ฌด๊ธฐ๋งŒ ๋ณด์—ฌ์ฃผ๋Š”๊ฒŒ ๋‚˜์„์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค.