์ด์ ๊น์ง ๋๋ฌด ๋ฐ๋น ์ ๊ณต๋ถํ ์๊ฐ์ด ์๋ค์
๊ทธ๋ฌ๋๊น, oop ๊ฐ์ฒด์ฒ๋ผ ๊ธฐ๋ฅ ์ ์ํ ์ปดํฌ๋ํธ๊ฐ ๋ณต์ฌ๋๋ฉด ๋ฌด๊ฑฐ์ฐ๋๊น..
์๋ฃ๊ตฌ์กฐ ํํ๋ก๋ง ์ปดํฌ๋ํธ๋ฅผ ์ ์ํ๊ณ ๊ฐ์ฒด๋ณ๋ก ๊ณ ์ id๋ฅผ ์ธ๋ฑ์ฑ์ฒ๋ฆฌ ํด์ set ์๋ฃ๊ตฌ์กฐ์ ๋ฃ์ด๋ ๋ค์
์ํธ์์ฉ ๊ฒ์ถ ๋ ๋๋ง๋ค ์ฟผ๋ฆฌ ๋ ๋ฆฌ๊ณ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ค๋ฅธ ๋์ํ๋๋ก ๋ง๋ค์ด ์ค๊ฑด๊ฐ์?
์ด ๋ฐฉ์์ด๋ฉด ์์คํ ๊ณ์ธต์ ๋ํ ์คํฌ๋ฆฝํธ์ ๋์ผ ์ปดํฌ๋ํธ ๊ฒ์ถ ์์ ์บ์ ์ฒ๋ฆฌ๋ฅผ ์ฑ๊ธํค์ผ๋ก ๋ง๋ค์ด์ผ ํ ๊ฑฐ๊ฐ์๋ฐ ํน์๋ ์ ๊ฐ ์คํดํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ง์ ๋ถํ๋๋ฆฝ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์๋ฅผ ๊ณต๋ถํด ๋ด์ผ ํ ๊ฒ ๊ฐ์๋ฐ, ์ด๋์ ์ฐพ์ ์ ์๋์?
ECS์ ComponentData๋ ๊ตฌ์กฐ์ฒด์์. ์์คํ ๊ณ์ธต์ด ๋ฌด์์ ๋ง์ํ์๋๊ฑด์ง ์ฌ๊ธฐ์ ๋ง์ํ์๋ ๊ณ์ธต์ด ๋ญ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค๋ง DOTS์์ ๋ฐ์ดํฐ๋ ComponentData, ๋ก์ง์ ๋ด๋นํ๋๊ฑด System, ๊ฐ ๊ฐ์ฒด์ ID๋ฅผ ๋ด๋นํ๋ Entity๋ก ์ด๋ค์ ธ์์ต๋๋ค. ์ํ:
https://github.com/Unity-Technologies/EntityComponentSystemSamples
๋ฉ๋ด์ผ:
https://docs.unity3d.com/Packages/com.unity.entities@1.0/manual/index.html
ECS๋ ๋ฌด์์ธ์ง ๊ฐ๋ ์ ๋ํด ์๊ณ ์ถ์ผ์๋ฉด :
https://www.youtube.com/watch?v=7UphiG8UtTg&t=696s
๊ฐ์ฒด์งํฅ ์ฝ๋์ ๋ฐ์ดํฐ์งํฅ(ECS)๋ ๋ค๋ฅธ ์์ผ๋ก ์ ๊ทผํด์ผ ํฉ๋๋ค. ๊ธฐ์กด์ ํจ๋ฌ๋ค์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค๋ฉด ๋ง์ด ํค๋ฉ์ค๊ฑฐ์์. ์ผ๋จ ์ ๊ฐ ์๋๊ธ์์ ๋ง์ง๋ง์ผ๋ก ๋งํฌ๋ฅผ ๋ฌ์๋๋ฆฐ ECS๋ ๋ฌด์์ธ์ง ์ค๋ช ํ๋ ์์์ ๋จผ์ ๋ณด์ธ์. ECS๊ฐ ์ด๋์์ ์ฌ์ฉ๋์๊ณ ๋ฐ์ดํฐ์งํฅ์ด ๋ฌด์์ธ์ง ๊ฐ๋ ์ ๋จผ์ ์์๋๊ฒ ์ข์๊ฑฐ๊ฐ์์.
"oop ๊ฐ์ฒด์ฒ๋ผ ๊ธฐ๋ฅ ์ ์ํ ์ปดํฌ๋ํธ๊ฐ ๋ณต์ฌ๋๋ฉด ๋ฌด๊ฑฐ์ฐ๋๊น" ใด๋ ธ์ฐ, ๊ฐ์ฒด๋ ํํธํ๋ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ตฌ์ฑ๋์ด CPU์บ์ฑ์ด ๊ฑฐ์ ์๋์ ๋ฌธ์ . ๋ฌด๊ฑฐ์ด๊ฒ ๋ฌธ์ ๊ฐ ์๋. 1."์๋ฃ๊ตฌ์กฐ ํํ๋ก ์ปดํผ๋ํธ๋ฅผ ์ ์..." 2."๊ฐ์ฒด๋ณ๋ก ๊ณ ์ id๋ฅผ ์ธ๋ฑ์ฑ ์ฒ๋ฆฌ..." 3."์ํธ์์ฉ ๊ฒ์ถ๋ ๋๋ง๋ค ์ฟผ๋ฆฌ..." ใด๋๋ฌด ์ถ์์ ์ธ ์ฉ์ด๋ก ๋ฌผ์ด๋ณด๋ ๋ฏ ํ์ง๋ง ๋์ฒด๋ก ๋น์ทํ ๋๋ ๋ง์.