a16711aa372a07f43eed848a46851b6c874d6d9134a1b1030ef2c99b44f4da199766278dbb7729dd6a65ac63544150


a16711aa372a07f43eed848a46851b6c874d6d9134a1b1030df6c99045feda19942fb6e4e4dfaacf957aa684c99fcb


a16711aa372a07f43eed848a46851b6c874d6d9134a1b1030bf1c99647fada198a844d8e2e48d7b920059e6caabe80


์›”๋“œ ์œ„์— ๋‚˜๋ญ‡๊ฐ€์ง€, ๊ฐ์ข… ์‹๋ฌผ์ž์›, ๋ถ€์‰ฌ, ๋ฒ ๋ฆฌ ๋ถ€์‰ฌ ๋“ฑ์„ ์ถ”๊ฐ€ํ•ด์คฌ์–ด.ย 

๋ชจ๋ธ์€ ๋‹จ์ˆœํ•œ ๋„ํ˜•์ด์ง€๋งŒ, ๊ธฐ๋Šฅ์€ ๋ฉ€ํ‹ฐ ๋™๊ธฐํ™”๊นŒ์ง€ ์ „๋ถ€ ์ž‘๋™ํ•ด.

์ „๋ถ€ ํฌํ†ค ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์•„๋‹Œ ๋กœ์ปฌ ์˜ค๋ธŒ์ ํŠธ๊ณ , ๋”ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™” ์‹œ์ผœ์ฃผ๊ณ  ์žˆ์–ด.




์›”๋“œ ์œ„ ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ๋Š” WorldObjectInstance๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์–ด.ย 

๋ฐ๋ฏธ์ง€๋ฅผ ์ž…์„ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ๋“ค์€ DamageableObject๋ฅผ ๊ฐ€์ง€๊ฑฐ๋‚˜ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด.


ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฐ๋ฏธ์ง€๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด ๋ฐ๋ฏธ์ง€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์•ž์— ์†Œํ™˜์‹œํ‚ค๋Š”๋ฐ, ์—ฌ๊ธฐ์— ๋‹ฟ์€ ์˜ค๋ธŒ์ ํŠธ์—์„œ GetComponent๋กœ ๋ฐ๋ฏธ์ง€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ฐพ์•„์ค˜.

์กด์žฌํ•œ๋‹ค๋ฉด TakeDamage๋ฅผ ์‹คํ–‰์‹œ์ผœ์ค˜.


์ƒ์†์ด ๋งค์šฐ ์œ ์šฉํ–ˆ์–ด.


์˜ค๋ธŒ์ ํŠธ๋Š” ํฌ๊ฒŒ StaticObjectInstance, DynamicObjectInstance, HybridObjectInstance๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ๊ฐ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ๋„ ๋‹ค๋ฅด๊ณ  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹๋„ ๋‹ค๋ฅธ๋ฐ, ์ „๋ถ€ WorldObjectInstance๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๊ธฐ ๋•Œ๋ฌธ์—, ํ•จ์ˆ˜ ์˜ค๋ฒ„๋ผ์ด๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ๊ฐ ์ฒ˜๋ฆฌํ•ด์ฃผ๋ฉด, DamageableObject๋Š” ๋‹จ์ˆœํžˆ WorldObjectInstance์˜ ๊ฐ€์ƒํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด ๋ผ.


์—ฌ๊ธฐ์— ๋”ํ•ด์„œ ๊ฐ ์˜ค๋ธŒ์ ํŠธ๋ณ„๋กœ DamageableObject๋ฅผ ์ƒ์†๋ฐ›์•„ ์ „์šฉ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค˜๋„ ํ”Œ๋ ˆ์ด์–ด๋Š” GetComponent๋กœ ๋ฐ›์•„์™€์„œ ์ฒ˜๋ฆฌํ•ด์ค„ ์ˆ˜ ์žˆ์–ด.



์ด๊ฒŒ ๋„คํŠธ์›Œํ‚น ๋œ ์˜ค๋ธŒ์ ํŠธ๋„ ์žˆ๊ณ , ๋กœ์ปฌ์˜ค๋ธŒ์ ํŠธ๋ผ์„œ ๋”ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™” ์‹œ์ผœ์ค˜์•ผ ํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋„ ์žˆ๋Š”๋ฐ, ํ”Œ๋ ˆ์ด์–ด ์‹œ์ ์—์„œ๋Š” ๊ทธ๋Ÿฐ๊ฑฐ ์‹ ๊ฒฝ์“ธ๊ฑฐ ์—†์ด ๋‹จ์ˆœํžˆ DamageableObject๋ฅผ ํ†ตํ•ด WorldObjectInstance์˜ ModifyHP ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด ๋ผ.


์•„์ฃผ ๊น”๋”ํ•ด์ ธ.



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

๊ทธ๋ƒฅ WorldObjectInstance์™€ DamageableObject๋ฅผ ์ƒ์†๋ฐ›์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ง€๋‹Œย ์˜ค๋ธŒ์ ํŠธ๋ฉด, ๋‹จ์ˆœํžˆ AutoBillboard ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š”๊ฒƒ๋งŒ์œผ๋กœ ์ฒด๋ ฅํ‘œ์‹œ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ผ.


๋นŒ๋ณด๋“œ์˜ ์Šคํฐ์€ ์Šคํฐ ๋งค๋‹ˆ์ €๊ฐ€ ๋”ฐ๋กœ ์žˆ๋Š”๋ฐ, ์œ„์น˜์™€ ์ฒด๋ ฅ์ •๋ณด๋งŒ ๋„˜๊ฒจ์ฃผ๋ฉด ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์ค˜.