LeoECS๋ฅผ ์ด์ฉํ Unity์์ ECS๊ฒ์ ๋ง๋ค๊ธฐ (1)
LeoECS๋ฅผ ์ด์ฉํ Unity์์ ECS๊ฒ์ ๋ง๋ค๊ธฐ (2)
LeoECS๋ฅผ ์ด์ฉํ Unity์์ ECS๊ฒ์ ๋ง๋ค๊ธฐ (3)
์ด๋ฒ ์ผ์ง์์๋ ์ ์ ์๊ธฐํ๋ ์ฒด๋ ฅ, ์ฌ๋ง๊ด๋ จ ์์คํ ์ ๋ํด ๋ค๋ฃจ๊ณ ์ ํ๋ค.
์ผ๋จ ๋ง๋ ๊ฒฐ๊ณผ๋ถํฐ ๋ณด์ฌ์ฃผ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋๋ฆฌ๋ฉด ์ฒด๋ ฅ ๋ฌ๊ณ , ์ฐ๋ฌ์ง๋ฉด ์์ฒด๊ฐ ๊น๋ฐ๊น๋ฐํ๋ฉด์ ์ฌ๋ผ์ง๋ค.
์ด๋ป๊ฒ ๊ตฌํํ๋์ง๋ ๋ค์๊ณผ ๊ฐ๋ค. (์ด์ ์ผ์ง์ ์ค๋ช ํ๋ ๋ด์ฉ์ ์๋ตํ๋ค)
์ฒด๋ ฅ์ปดํผ๋ํธ ํ๋ ๋ง๋ค์ด์ฃผ๊ณ ๋์ ๋๋ฏธ ์ํฐํฐ์ ๋ถ์ฌ์ค๋ค.
ํผ๋ฅผ ๋ฌ๊ฒํ๋ ค๋ฉด ๋ฐ๋ฏธ์ง๋ฅผ ์ฃผ๋ ์ ๋ณด๊ฐ ํ์ํ๋ค.
ํํธ๋ฐ์ค ์ ๋ณด์ ๋ฐ๋ฏธ์ง์ ๋ณด(CompEffectDataDamage)๋ฅผ ๋ถ์ฌํ๋ค.
์ด๋ ํํธ๋ฐ์ค์ ๋ฟ์ ์ํฐํฐ๋ค์ด ์ ์ฉ๋์ผ ํ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ์ค ๊ฒ์ด๋ค.
์ด ํํธ๋ฐ์ค ๋์ ์์ง์ HitBoxSystem์์ ์ฒ๋ฆฌํ๋ค.
ํํธ๋ฐ์ค ์์คํ ์ ์ญํ ์ ํํธ๋ฐ์ค ์์ ๋ค์ด์จ ์ํฐํฐ๋ฅผ ์ฐพ์์ ์ฒ๋ฆฌ๋์ผ ํ ๋ฐ์ดํฐ ์ฆ (EffectDataDamage๋ EffectDataActionHit) ๊ฒ๋ค์ ์ ์ฉ๋ ๋์์ ๋ถ์ฌ์ฃผ๋ ์ผ๋ง ํ๋ค.์ค์ ์ด ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ ์ง๋ ConversionSystem์์ ์ฒ๋ฆฌํ๋ค.
์ฌ๊ธฐ์ ActionHit๋ ์ก์ ์์คํ ์์ ์์ด๋ณธ๊ด๋ จ๋ ์ก์ ์ ์ํ ์ ๋ณด์ด๋ฉฐ, ์ด๊ฑด ์ด์ ์ ๋ง๋ค์ด๋ ๊ทธ๋๋ก์ด๋ ๋๊ธฐ๊ณ
๋ฐ๋ฏธ์ง๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์ ๋ฐ๋ฏธ์ง๋ฐ์ดํฐ๋ฅผ ์ค์ ์์คํ ์์ ์ฌ์ฉ๋ ๋ฐ๋ฏธ์ง์ปดํผ๋ํธ๋ก ๋ณํํด์ ๋์ ์ํฐํฐ์ ๋ถ์ฌ์ฃผ์ด์ผ ํ๋ค.
๋ฐ๋ฏธ์ง์ปดํผ๋ํธ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ์ค์ ์ฒด๋ ฅ์ ๊น๋ ์์คํ ์ ApplyDamageSystem์ด๋ค. ๋ฐ๋ฏธ์ง๊ฐ์ ๋ฐ๋ผ ์ฒด๋ ฅ์ ๊น์ผ๋ฉฐ, ์ฒด๋ ฅ์ด 0์ด๋๋ฉด ์ฃฝ์์์ ํ์ํ๋ CompDead๋ฅผ ๋ถ์ฌ์ฃผ๊ณ , ๊ธ๋ฐฉ ์ฃฝ์๋ค๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํจ๋ค.
์บ๋ฆญํฐ ์ฒด๋ ฅ์ด0์ด๋๋ฉด ์บ๋ฆญํฐ๊ฐ ๋์ด์ ๊ณต๊ฒฉ์ ๋ง์ง ๋ง์์ผ ํ๊ณ
๋ฐ๋ฅ์ ๋๊ฒ๋๋ฉด ์ฌ๋ผ์ง๊ฒ ํด์ผ ํ๋๋ฐ
๊ทธ ์ผ์ ProcessTheDeadThingSystem์ด ํ๋ค.
์๊ฐ ํ๋ ์ผ์ ์ฃฝ์๋ค๋ ์ํฐํฐ๊ฐ ์ฃฝ์๋ค๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ผ๋ฉด ์ฝ๋ผ์ด๋๋ฅผ ์ ๊ฑฐํ์ฌ ๋์ด์ ๊ณต๊ฒฉ์ ๋ง์ง ์๊ฒ ํ๊ณ
CleanupBody ์ด๋ฒคํธ๋ฅผ ๋ฐ์ผ๋ฉด 2์ด๋ค์ ๊ฐ์ฒด๋ฅผ ์๋ฉธ์ํค๋ ์ผ์ ํ๋ค.
๋์ด์ ๋ง์ง์๊ฒ๋ ์บ๋ฆญํฐ๋ ๋ฐ๋ฅ์ ๋๋ฌ๋๋ Ground์ํ์์ CompDead๊ฐ ๋ถ์ด์์ผ๋ฉด Dead์ํ๋ก ๋์ด๊ฐ๋ค.
Dead์ํ์์ CleanupBody์ด๋ฒคํธ๊ฐ ํธ์ถ๋๊ณ ์ด๋๋ถํฐ ์์ฒด๋ 2์ด๋ค์ ์๋ฉธํ๊ฒ ๋๋ค.
์๋๋ ์ด ์์คํ ๋ค์ด ์ฒ๋ฆฌ๋๋ ์์์ด๋ค.
์์ ๊ฒ๋ค์ ๋ด๋ถ๋์ ๋ก์ง์ด๊ณ , ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊น?
์ ์ ๋ฐ๋ก ์์ธํ ์ค๋ช ํ์ง ์์์ง๋ง, ์ฐ์ถ๊ด๋ จ๋ ์์คํ ๋ ์๋ค. ์ด ์์คํ ๋ค์ ์์ ์ฐ์ถ๋ง์ ๋ด๋นํ๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ๊ด๋ฆฌ๋๋ค.
์๋๋ ์ฐ์ถ๋ด๋น ์์คํ ๋ค์ ๋์ด์ด๋ค.
์ฌ๊ธฐ์ ์ฌ๋งํ์๋ ์์ฒด๋ฅผ ์ฒ๋ฆฌํ๋ ์์คํ ์ CleanupBody์ด๋ฒคํธ๋ฅผ ๋ฐ๊ฒ๋๋ฉด ์๋ฉธ์ฐ์ถ์ ํ ๋ฟ์ด๋ค.
์ฒด๋ ฅ๋ฐ ์์คํ ์ CompHP์ปดํผ๋ํธ์ ํ๋ฆฌํน์ HPBarAttachment์ปดํผ๋ํธ๊ฐ ๋ถ์ด์๋ค๋ฉด ๊ทธ ๊ฐ์ฒด์ ์ฒด๋ ฅ๋ฐ๋ฅผ ๋ถ์ธ๋ค.
๋ค์ ์ผ์ง์์๋ ๋ชฌ์คํฐ ํ๋๋ฅผ ๋ง๋ค๊ณ , ๊ฑฐ๊ธฐ์ ๊ฐ๋จํ AI๋ฅผ ๋ถ์ฌ๋ณผ ์์ ์ด๋ค. ๋
์ผ์ง์ฐ๊ณ ์ ๊น ๋ค์ํด๋ดค๋๋ฐ, ์ ์ฑ๋ก ์ฝํ๋ฅผ ์น๋ฉด ์ ์ฑ๋ก ์๋ฌด๊ฒ๋ ๋ชปํด๋ฒ๋ฆฌ๋๋ผ
(๊ท์ ์ด ๋๋ฒ๋ฆผ)
๊ทธ๋์ ์ ์ฑ๋ก ์ฝํ๋ฅผ ๋ง์์ผ๋ฉด ์ํ๊ฐ StandHit์ด ๋๋๋ฐ, ์ด๋ ์ฌ๋งํ ์ํ๋ผ๋ฉด, ์ฃฝ์ธ๋ ์์ ๋ฐ๋๋ฐฉํฅ์ผ๋ก Airborne์์ผ๋ฒ๋ฆผ.
์ด๊ฑฐ ๋์ ์ค๋๋๊ณค๋ ์ด๋ ๊ฒ ์ฒ๋ฆฌ๋ฌ๋๊ฑฐ ๊ฐ์. ๋ง๋ค๊ณ ๋ณด๋๊น ๋น์ทํ๋ค
ใ ใ ์ ๋ํฐ ๊ณต์ ecs๋ ์์ง ์๋๋๊ฒ ๋ง๋ค๊ณ ๋ค์๋๋ฐ LEOECS๋ก๋ ๊ฒ์ ์ถ์ ๊ฐ๋ฅํ๊ฐ์? ๊ถ๊ธ๊ถ๊ธ
์ถ์๋ ์ ๋ํฐecs๋ก๋ ๋ง๋ค์ด ๋ด๋ ์ฌ๋๋ ์์ด์ ์ถฉ๋ถํ ๊ฐ๋ฅํ์ง. leoecs๋ ๊ทธ๋ ๊ณ . ๋ด๊ฐ ์ ๋ํฐecs๋ฅผ ์์ฐ๋ ์ด์ ๋ ์ํคํ์ ํ ecs๋ผ ์ ์ฝ๋ ๋๋ฌด ์ฌํ๊ณ ์ด๋ ค์์์. leoecs์์ค์ฝ๋๋ ํ์ผ 5๊ฐ๋ฐ์ ์๋๋๋ฐ๋ ecs๋ฅผ ์ฐ๋๋ฐ์ ํ์ํ ๊ธฐ๋ฅ์ ๋ค ์์. ๋์ ๋๋จธ์ง ๋ค ์ง์ ๊ตฌํํ๊ฑฐ๋ ์ ๋ํฐ์ hybrid๋ก ์ฐ๊ณํด์ ์จ์ผ๋จ.
๋ต๋ณ๊ฐ์ฌํฉ๋๋ค. ๋ค์ ์ฌ์ด๋ ํ๋ก์ ํธ๋ก ํ ๋ฒ ์ฐ๋จนํด๋ณผ๊น ํ๋ ์๊ฐ์ด๋๋ค์ ใ ใ ใ ใ (์ฝ๋๋ชฝํค ๋ฏธ๋ผ์ ์๊นํ๋ ์ค ใ ใ ใ )
ํฌํก ๋๋ฐ์ฐ.. - dc App
๊ถ๊ธํ๊ฒ ์์ ์ถฉ๋์ฒ๋ฆฌ๋ฅผ ๋ฐ๋ฅ๋ฉด์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด ํ๋ธ ๋ชจ์์ ์ ๊ทธ๋ ค์ฃผ๋๊ฑฐ์ง?
์ง๊ธ ๊ตฌํ๋ ์ถฉ๋์ฒดํฌ๋ 2d์. ์๋ ๋น์ ์ ๋ง๋ค๊ฑฐ ๊ณ ๋ คํ๊ณ ๋ง๋ ๋ฌผ๋ฆฌ๊ฐ ์๋์ด์. y์ถ์ ํ์ฌ ๊ผผ์๋ก ๋ฃ์๊ฑฐ. ํ๋ธ๋ชจ์ ์ฝ๋ผ์ด๋๋ shape2d๋ shapeY์ปดํผ๋ํธ ํฉ์ณ์ ๊ทธ๋ ค์ค๊ฑฐ๊ณ ์ผ๋จ ์ถฉ๋๊ฒ์ฌ๋ xz๋งํด๋จ๋๋ฐ, ๋์ดํ๋ฒ๋ง ๋ ์ฑํฌํด์ฃผ๋ฉด ๋จ. ์์ง์๋ง๋ ๊ฑฐ
๋ต๋ณ ๊ฐ์ฌ
๋ง์ง๋ง ์งค ๊ทธ๊ฑฐ ๊ฐ๋ค ๋ถ๋ฉธ์ ์ด์์ ํ๋์ ๊ฒ์
๊ทธ๊ฒ๋ญ์ง ํ๊ณ ๊ฒ์ํ๋ค๊ฐ ๋นตํฐ์ง ใ ใ ์ง์ง ๋น์ทํ๋ค
PURE ECS๋ผ๋๊ฑด ๋ง๋ ์๋๊ณ ๊ธฐ์กด ์ปดํฌ๋ํธ๋ฐฉ์๊ณผ hybrid ๋๋์ผ๋ก ๋ง์ด ๋ฐ์ ํ๊ฑฐ๊ฐ์ ์ญ์ ๊ฐ๋ํฐ
๊ทธ๋ฐ๊ฐ. ์ ๋ํฐDOTS๋ ํจ์ดํ๊ฒ ํ๋ ค๋๊ฑฐ๊ฐ๋๋ฐ. ๋จ์ง ๋ด๊ฐ ์จ๋ณด๊ณ ๋์ ํ ๊ฒ์์ ๋ชป๋ง๋ค๊ฒ ๋๋ผ๊ณ . ๋๋ฌด ์ด๋ ค์. ์ค๋ ฅ์ด ๋ธ๋ฆฌ๋๋ฏ