์ ๋ฒ ๊ฐ๋ฐ์ผ์ง๋ฅผ ์ฐ๋ฉด์ ๋๋ ๊ฑด๋ฐ, ์ผ์ง๋ฅผ ๋ณด๋ฉด ์๊ฒ ์ง๋ง ๋ญ๊ฐ ๋ด๊ฐ ์ง ํ๋ก๊ทธ๋จ์ ์๋๋ฐฉ์ด ์์๋ค์ ์ ์๊ฒ ์จ๋์ ๊ฒ ๊ฐ์ง ์์๋๋ผ.
๊ฒ์์ ํ์ ํผ์์ ๋ง๋ค ๊ฒ ์๋ ์ด์ ๋ด ์๊ฐ์ ๋ณด๋ค ์ง๊ด์ ์ด๊ณ ํจ๊ณผ์ ์ผ๋ก ๋ํ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ฐ, ๊ทธ๋์ ํ๋ฅผ ๋ง๋ค์ด ํ๋ก๊ทธ๋จ์ ์ ๋ฆฌํด ๋ดค์ด.
๋ง๋ค์ด๋ณธ ํ์ ๊ตฌ์กฐ์ผ. ๊ฐ์ ํด๋์ค๋ ๊ฐ์ ์์ผ๋ก ํํ๋๊ณ , ๋ณ์/๊ตฌ์กฐ์ฒด๋ ์ผ๊ฐํ, ํด๋์ค/์ฐธ์กฐ๋ ์ฌ๊ฐํ, ํจ์/๋๋ฆฌ์๋ ์์ผ๋ก ํํ๋ผ.
์์ผ๋ก ํด๋์ค๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ ํด๋์ค ์์ ์์ ์ด ์๋ ํด๋์ค์ ์ฐธ์กฐ๊ฐ ์๋์ง ํ๋์ ์์๋ณด๊ธฐ ์ฝ๊ฒ ํด ์ฃผ๋๋ฐ, ๋๋ถ์ ํด๋์ค๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ดํดํ ์ ์์ด.
์ค๋์ ์ด ๋ฐฉ๋ฒ์ ์ด์ฉํด์ ์ ๋ฒ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณผ๊ป.
UMesh๋ ๊ด๊ณ ๋ชจ๋์ด์ผ. ๋์ ์ด์ ํ๋ก๊ทธ๋จ๋ค์์๋ ์ผ์ชฝ ๊ทธ๋ฆผ์ฒ๋ผ ํ ํด๋์ค์ ๋ชจ๋ ์ฐ๊ด๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋๋ฐ, ๊ทธ๊ฒ ๋๋ฌธ์ ํด๋์ค ๋ด๋ถ๋ ๊ณ ์ ํจ์๋ค๊ณผ ๊ด๊ณ ํจ์๋ค์ด ๋ค์์ฌ์ ๋๋ฌ์ ๊ณ , ์ฌ๋ฌ ๊ด๊ณ๋ค์ ํ๋ฒ์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ด๋ ค์ ์ด.
์ด ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ด๊ณ์ ๋ํ ์ฒ๋ฆฌ๋ง ์ ๋ฌธ์ ์ผ๋ก ํ๋ UMesh๋ผ๋ ํด๋์ค๋ฅผ ๋ฐ๋ก ๋ฌ์ ์ฝ๋๋ฅผ ๋ณด๋ค ๊นจ๋ํ๊ฒ ์ ๋ฆฌํ ์ ์๊ฒ ํ์ด.
์ง๊ธ๋ถํฐ๋ UMesh์ ์์ฑ, ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ฒ, ๊ด๊ณ๋ฅผ ๋๋ ๋ฒ์ ๋ํด ์ค๋ช ํ ๊ป.
์ฐ์ UMesh์ ์์ฑ์ด์ผ.
UMesh๋ฅผ ๋ง๋ค ๋, ๋ง์คํฐ ํด๋์ค๋ ์์ ์ ์ฐธ์กฐ๋ฅผ UMesh์ ๋ฃ๊ณ , UMesh์ ์ฐธ์กฐ๋ฅผ ์์ ์ด ์ ์ฅํด.
์ด๋ก์ UMesh๋ฅผ ํตํด ๋ง์คํฐ ํด๋์ค์ ์ ๊ทผํ๊ฑฐ๋ ๊ทธ ๋ฐ๋์ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ ธ.
UMesh๋ฅผ ๋ง๋ ๋ค์์๋ UMesh์ ์ฑ๋์ ๋ง๋ค์ด์ผ ํด.
์ฑ๋์ ํน์ Type์ ์ฐ๊ฒฐ์ ๋ํ ๋ชจ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ. ์๋ฅผ ๋ค์ด, ํด๋์ค A๊ฐ B, C์ ๊ด๊ณ๋ฅผ ๋งบ๋๋ค๋ฉด ์ฑ๋์ 2๊ฐ๊ฐ ๋๋ ๊ฑฐ์ง.
์ฑ๋์ ๊ฐ๊ฐ Type์ ๋ํ ๋์ ๋๋ฆฌ๋ก ์ ์ฅ๋๋ฉฐ, ํ๊ฒ์ ๋ฆฌ์คํธ๋ฅด ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ํ ์ฑ๋์๋ ๊ฐ์ ์ธํฐํ์ด์ค์ ํด๋์ค ์ฌ๋ฌ ๊ฐ๊ฐ ๋ค์ด๊ฐ ์ ์์ด.
์ฑ๋์ ๋ง๋ค ๋ ํ์ ๋ฟ๋ง ์๋๋ผ connect, disconnect๋ผ๋ ํจ์๋ ๋ค์ด๊ฐ.
์ด๋ค์ UMesh๊ฐ ๊ด๊ณ๋ฅผ ๋งบ๊ฑฐ๋ ๋์ ๋ Master์๊ฒ ์๋ ค์ฃผ๋ ์ญํ ์ ํด.
๋ค์์ผ๋ก ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ฒ์ ๋ํด ์ค๋ช ํ ๊ป.
๊ทธ๋ฆผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์์ ์๋๋ก, ์ํ์ ์ผ๋ก๋ ํ์ดํ ๋ฐฉํฅ์ผ๋ก ๋ณด๋ฉด ๋ผ.
๊ทธ๋ฆผ์ ๊ฐ์ ํด๋์ค๊ฐ ํ๋์ ํด๋์ค์ ๊ด๊ณ๋ฅผ ๋งบ๋ ์ํฉ์ ํํํ ๊ฑฐ์ผ.
๋จผ์ ๊ฐ์ ํด๋์ค์ UMesh๊ฐ ํ๋ ํด๋์ค์ UMesh์ ์ฑ๋์ ์ฐ๊ฒฐ๋ผ.
๊ทธ๋ฌ๋ฉด ๋ฏธ๋ฆฌ ์ ์ฅํด ๋ ํ๋ ํด๋์ค์ connect ํจ์๊ฐ ๋ฐ๋ํด์ ๊ฐ์ ํด๋์ค์ ๋ณธ์ฒด๋ฅผ ํ๋ ํด๋์ค์ ๋ณธ์ฒด์ ์ฐ๊ฒฐํด.
ํด๋์ค๊ฐ์ ์ํธ์์ฉ์ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ํ๋๋ ๋จ์ํ ํด๋์ค์ ์ ๊ทผํด์ ๊ฐ์ ์ฝ์ด์ค๋ ๊ฒ(target values)์ด๊ณ , ๋๋จธ์ง ํ๋๋ ๋๋ฆฌ์๋ฅผ ์์ํด์ ์๋ ํด๋์ค์์ ๋์ ๋ง๊ฒ ํธ์ถํ ์ ์๊ฒ๋(trigger) ํ๋ ๊ฑฐ์ผ.
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์์ ์ด ํ์ํ ๋ ๊ฐ์ ์ฝ๊ณ ์ถ์ ๋ ์ฐ๊ณ , ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋ฐ๋๋ก ์๋๋ฐฉ์ ์์ฒญ์ด ์์ ๋ ์์ ์ ์ํํ ๋ ์ฌ์ฉํด.
์ด ๋ ์ํธ์์ฉ์ ๋ณด๋ ค๋ฉด ํ๋์ ํด๋์ค์ ์๋ ๋ถ๋ถ์ ๋ณด๋ฉด ๋๋๋ฐ, ๊ฐ์ ํด๋์ค๊ฐ ๋ค์ด์ค๋ฉด connect ํจ์๋ 1) target์ ์ฐธ์กฐ๋ค์ ์ ์ฅํ์ฌ ์ํ๋ ๋์ ๊ฐ์ํ ์ ์๋๋ก ํด๋๊ณ 2) trigger์ target์ ์ ์ฅํ์ฌ target์ด ์ํ ๋ trigger์ ํธ์ถํ ์ ์๋๋ก ํด.
์ด๋ ๊ฒ ๊ฐ์ -> ํ๋ ์ ์ฅ ์์ ์ด ๋๋๋ฉด ๋ฐ๋ ์์ ๋ ๋๊ฐ์ด ์งํ๋ผ.
๋ง์ง๋ง์ผ๋ก ๊ด๊ณ๋ฅผ ๋๋ ์ํฉ์ ๋ํด ์ค๋ช ํ ๊ป.
์ฌ์ค ์์ ๋ถ๋ถ๊น์ง๋ง ๋ณด๋ฉด ์ด์ ๋ฐฉ์๊ณผ ์ฐจ์ด๊ฐ ํฌ๊ฒ ์์ด ๋ณด์ด์ง๋ง, UMesh๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด๊ณ๋ฅผ ๋์ ๋ disconnect ํจ์๊ฐ ์๋์ผ๋ก ๊ด๊ณ๋ฅผ ๋์ผ๋ฉด์ ํด๋์ค ์์ ์ ์ฅ๋์๋ ๋ชจ๋ ์ฐธ์กฐ๋ฅผ ํจ๊ป ์์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๊ฐ ์ด๋ค ๋ณ์๋ฅผ null์ฒ๋ฆฌ ํด์ค์ผํ๋์ง ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๊ฒ ํด์ค.
์ด๊ฑด ์ค์ ์ฝ๋์์ ๊ตฌํ๋ connect ํจ์์ disconnect ํจ์์ผ.
๋ณด์ด๋ ๊ฒ๊ณผ ๊ฐ์ด disconnect์์๋ ๋จ์ง connect์์ ํ ๋นํ ๊ฒ๋ค์ null์ฒ๋ฆฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์, ์ด์ ์ ๋ฐฉ์์ ๋นํด ํจ์ฌ ๊ด๋ฆฌ๊ฐ ์ฝ๊ณ ์ง๊ด์ ์ด์ผ.
์ง๊ธ๊น์ง UMesh๋ผ๋ ๊ด๊ณ ๋ชจ๋์ ์๋์ ๋ํด ์์๋ดค์ด.
์ ๋ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ๊ทธ๋ฆผ์ ์ฌ์ฉํด์ ์ข๋ ํ๋ก๊ทธ๋จ์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ค๋ช ํ๋ ค๊ณ ๋ ธ๋ ฅํด๋ดค๋๋ฐ, ์ฐ๋ฉด์๋ ์ ๋ฒ๋ณด๋ค๋ ์กฐ๊ธ์ด๋๋ง ๊ธ์ด ๊นจ๋ํด์ง ๋๋์ด ๋ค๋๋ผ๊ณ .
์์ผ๋ก๋ ์ด๋ฐ ๊ทธ๋ฆผ์ ์ฌ์ฉํด์ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๊ณ ์ค๋ช ํ๋ ๊ฒ์ ๋ํด ์ต์ํด์ ธ๋ณด๋ ค๊ณ ํด
๋ค์ ์๊ฐ์๋ UMesh๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ ๊ป. ์๋ !
๋ด๊ฐ ์ฐ๋งคํด์๊ทธ๋ฐ๊ฐ ๋ญ๋ง์ธ์ง ํ๋๋ ๋ชฐ๊ฒ๋ค..
๊ธฐ๋ง์๋ฐ๋ฐ
ํด๋์ค ๋ถํ ํ๋จ๊ฑฐ์ง? UMesh๋๊ฒ ์ฐ๊ฒฐ์ ๋์์ฃผ๋ ์ ๊ณ ์ฐ๊ฒฐํ๊ณ ์ฐ๊ฒฐ ๋์ด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์๋๊ฑฐ ๊ฐ์๋ฐ ์ด๊ฑธ ์ ํด์ฃผ๋์ง ์ดํด๊ฐ ์๋๋ค. ํ๊ฐ์ง ๋, ๋ ๋ง๋๋ก ํผ์ ๊ฐ๋ฐํ ๊ฒ ์๋๋ฐ ๊ฐ๋ฐ์๋ค์ด ์ฐ๋ UML ์ฐ์ง ๊ตณ์ด ํ๋ฅผ ๋ง๋ค์ด์ ์ค๋ช ํ๋ ๊ฑฐ์ผ?
1. ์์ ์จ๋จ๋ฏ์ด ํด๋์ค ์์ ๊ทธ๋ฅ ๋ฃ์ผ๋ฉด ์ ๋ฆฌ๊ฐ ์ ๋ผ์ ํด๋์ค ๋ง๋ค์ด์ ๋ฌถ์ด๋๊ฑฐ. ์์ง ์ ๋ํฐ ์ด๋ณด๋ผ ํ๋ก๊ทธ๋๋ฐ ์ง์ ์๋๊ฑด ๋ง์ด ์์ผ๋ ์ํด์ข. 2. UML๋ ์ฐพ์๋ดค๋๋ฐ ์๋ฃ์ ์ฐธ์กฐ๊ด๊ณ๋ ์์คํ ์ด์ ๊ณผ์ ์ ๊ตฌํํ๋ ๊ฒ ์ด๋ ค์ ๋ณด์ฌ์ ๊ทธ๋ญ ์๋ก ๋ง๋ฆ. ์ฐ๋ค๋ณด๋ฉด ๋ฌธ์ ์ ์ด ๋ณด์ด๊ฒ ์ง๋ง ์ผ๋จ ๋ง๋ ๊ฑธ ์ ๋ฆฌํ๊ณ ํ์ธ์๊ฒ ์ดํด์ํฌ ์ ์๋ ๋ญ๊ฐ๋ฅผ ํ๋ค๋ ๊ฒ์
์์๋ฅผ ๋๋ ค๊ณ .
๋์ด์ฃผ๋๊ฑฐ๋ c#ํน์ฑ์ ๋ค๋ฅธ๋ฐ ์ฐธ์กฐ ๋จ์์์ผ๋ฉด ๊ฐ์ฒด ์ญ์ ๊ฐ ์๋๋ค๋ ์ ์ ์ ๋ํฐ ์์์ ํด๊ฒฐํ๊ณ ์ถ์์.