์ผ๋จ ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๋ชป์จ๋จน์.
๋ธ๋ํค ์์์ ์๋ ์ฌ์ด ํ์ด๋ธ๋ฆฌ๋ ecs๋ ๋ค์ดํฐ๋ธ ์ด๋ ์ด ๋ผ๊ณ ๊ฐ์๊ณต๊ฐ์ entity๋ฅผ ๊ฐ์ด ์ฒ๋ฃ๋ ๋ฐฉ์์ด์๋๋ผ
์์ ecs์ด๊ธฐ ์ปจ์ ์์ค ํํ ๋ฆฌ์ผ์ด๋ผ ํ๋ ์ํ๋ ์ธ๋ชจ๊ฐ ์์.
๋ธ๋ฆฌ๊ฒ์ดํธ๋ก tick ์ด๋ผ๊ณ ๋บ๋ค์์ ํ๋ ์ ๋ฐ์ดํธ์์ ๋๋ฆฌ๋๊ฑฐ๋ ๊ฐ์ ์์ค.
๊ทผ๋ฐ api๋ ์ํ ๋ ๋์ย
์ง์ง ๋ชป์จ๋จน๋ ์ด์ ๋ ๊ทธ๋ํฝ ๋๋ฌธ์.
์๋ ๊ฑ ์ ๋๋งค์ด์ ์ ์ฉ์ ์์ ๋ฏธ๊ตฌํ ์ํ์ ใ ใ .
์ ๋ํฐ ๊นํ๋ธ์ ๋ง๋ค์ด์ง๊ณ ์๋ ์ ๋
์ ๋๋งค์ด์ ์ด ์๋๋ผ ์์ด๋๋ก ๋ฌผ๊ณ ๊ธฐ ๊ฟ๋ ๊ฟ๋ ์์ผ๋์๊ฑฐ๊ณ
์ง๊ธ ecs๊ฐ ์น๋ค ๊ฐ์ ์์ด์ ๋๋ฐ ๋ฉ์ฌ ๋ ๋๋ฌ๋ ecs์ ์ฉ์ด ๋ฐ๋ก ๋ง๋ค์ด์ง๊ณ ์์ด์ ๊ทธ๋ผ.
๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ ์คํ๋ผ์ดํธ ๋ ๋๋ฌ๋ ์์ ๋ฏธ์ง์์.
๋น์ฐํ ๊นํ๋ธ๋ ๊ตฌ๊ธ๋ง์ผ๋ก ์ ์ ๋ค์ด ๋ง๋ค์ด ๋์ ecs ์คํ๋ผ์ดํธ ๋ ๋๋ฌ๋ฅผ ์ฐพ์์ง๋ง ์ด์ญ์
๋ฒ์ ๋ฌธ์ ๋ก ์์ ํด๋์ค๋ ํจ์,์ธ์๊ฐ์ด ๋ฌ๋ผ์ ๊ทธ๋ฅ ์ ๋ ๋ชป์.
๊ทธ๋๋ ์ํ ํ๋ก์ ํธ์์ ๋ฌผ๊ณ ๊ธฐ ๋ช๋ง๋ง๋ฆฌ ์์ง์ด๋๋ฐ 100ํ๋ ์ ๋์ค๋๊ฑด ์ ๊ธฐํ๋๋ผ
๋ฌผ๋ ํ์๋ํ์ค๊ฒ์ ๋ง๋ค๊ณ ์ถ์๋๋ฐ ์ฉ
์๊ฐ์ด๋ผ๋ ๋ง์ผ๋ฉด ๊ตฌ๋ ๋๋ฌ๋ฅผ ๊ณ ์น๋ ๋ ธ๋ ฅ์ด๋ผ๋ ํด๋ณผํ ๋ฐ ์๊ฐ๋ ๋ฅ๋ ฅ๋ ์๋์ ํจ์ค
https://github.com/Unity-Technologies/EntityComponentSystemSamples
https://github.com/paullj/unity-ecs-instanced-sprite-renderer
๋๋ ECS๋ก ๋ฌผ๋ ํ์๋ํ์ค ๋ง๋ค๋ค๊ฐ ๊ธฐ์กด์ ์๋ ํจ์๋ค๋ ์ ๋ถ ๋ค์ ์ง์ผํด์ ํฌ๊ธฐํ๊ณ ์ ํํจ
๋๋ ๊ทธ ๋ฐ์ด์๋ฐ๋ฆฌ์ธ์ฆ์ธ๊ฐ ์ข๋น๊ฒ๋ณด๊ณ ๊ทธ๊ฑฐ์ฒ๋ผ ๋งจ๋ค๊ณ ํ ๋๋ - dc App
ECS๋ OOP์์๋ ์ต์ ์ ํจ๋ฌ๋ค์์ด๋ผ ๋ฌด์์ ์ ์ฉํ๋ฉด ์ํด๋ฅผ ๋ง์ด ๋ด. ๋ Entitas ๋ผ๋ c# ECS ํ๋ ์์์ ์ผ๋๋ฐ, ์ฒ์์๋ ์คํธ๋ผ ์ถ์์ง๋ง ํ๋ฉด ํ ์๋ก ๋ฌด์จ ํ์ด์ฌ๋ ์๋๊ณ ๋ํ์ดํ ํ๊ณ ์๋ ๊ผด์ด ์ซ๋๋ผ. ํด๋์ค๋ผ๋ ๊ฒ ๋๋ฆ ํ๋์ '๋ฌธ๋งฅ'์ผ๋ก ๋ฌถ์ด์ฃผ์ด ์ฌ๋ฌ๊ฐ์ง ์ ๋ณด์ ๊ธฐ๋ฅ์ ํ๋์ ๋ฌธ๋งฅ์ผ๋ก ํ์น ์ ์์ด์ ๋ณต์ก๋๋ฅผ ์ค์ฌ์ฃผ๋ ๊ฒ์ธ๋ฐ ECS ํ๋ฉด ํด๋์ค๋ฅผ ๋ค์ ธ์ ์ ๋ณด์ ๊ธฐ๋ฅ๋ค๋ก ํ๋
์ฉ ๋๋ ๋ฒ๋ฆฌ๋ ๋์ค์ ์ฝ๋๋ณด๋ฉด ๋ฌธ๋งฅ์ด ์์ด์ ๋ ํผ๋์ค๋ฌ์์ง๊ธฐ๋ ํ๋๋ผ. ECS๋ฅผ ์ ๋๋ก ์ ๋ํฐ์ ์ ์ฉํ๋ ค๋ฉด ์ ๋ํฐ์ ๊ธฐ์กด API๋ค์ ๋์ฒดํ๋ ๋ญ๊ฐ๊ฐ ํ์ํ ํ ๋ฐ (์๋๋ฉด ๊ฐ์ ๊ฑธ 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ๋ ์์ด ๋ ๊ฒ์. ์ง๊ด์ฑ์ ๋ฌธ์ ๊ฐ ์์ง) ์ ๋ํฐ๊ฐ ๊ทธ๋ด ์ค๋ ฅ์ด ์๋์ง, ์๋ค๊ณ ํ๋ค ๊ณผ์ฐ ์ธ์ 1.0์ด ๋์ฌ์ง๋ ๋๊ณ ๋ด์ผ ํ ์ผ. ์ ๋ํฐ ECS ์ด์ผ๊ธฐ๊ฐ ๋์จ์ง ์ด๋ฏธ 3๋ ์ฐจ์ ์ ์ด๋๋ ๊ฑธ๋ก ์๊ณ ์๋ค....
ECS ํ๋ ค๋ฉด C/C++๋ถํฐ ์ต์ํด์ ธ์ผํจ. C/C++์์ DOP ํ๋ ๋๋์ผ๋ก ์ ๊ทผํ๋ฉด ๋จ.