๋ชฉ์
: ๊ฐ๋จํ ์ ๋์ด ๋์ ์ฅ์ ๋ฌผ์ ํํผํ๊ฒ ๋ง๋ค๊ณ ์ถ์์.
๋ฑํ ํจ์คํ์ธ๋ฉ์ด ํ์ํ ์ ๋๋ ์๋๋ผ์, ๋ค๋น๋ฉ์ฌ ๋ง๊ณ ๊ทธ๋ฅ ๊ตฌํํ๊ธฐ๋ก ํ์.
์ฐพ์๋ณด๋ boids ์๊ณ ๋ฆฌ์ฆ์ด ์ฐ์ด๋๋ฏ.
boids ์๊ณ ๋ฆฌ์ฆ(flocking ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋์์ด)์ด ๋ญ์ง ๊ถ๊ธํ๋ฉด ๋๋ณด๋ค ๋๋ํ๊ณ ์ค๋ช ์ํ๋ ์ฌ๋๋ค์ด ์ด ๊ธ ๊ฐ๋ง์ผ๋ ํ ๋ฒ ๋ณด๊ธธ ์ถ์ฒํจ.
๋์ถฉ 3์ค๋ก ์ค๋ช ํ์๋ฉด
1. ๊ฐ ๊ฐ์ฒด(boid๋ผ๊ณ ํจ)๊ฐ ์ฃผ๋ณ์ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ์ ํด์
2. cohesion(๋ค๋ฌ๋ถ์ผ๋ ค๊ณ ํ๋ ์ฑ์ง), separation(๋จ์ด์ง๋ ค๊ณ ํ๋ ์ฑ์ง), alignment(๊ฐ์ ๋ฐฉํฅ์ ํฅํ๋ ค๊ณ ํ๋ ์ฑ์ง) ์ธ ๊ฐ์ง ์ฑ์ง๋๋ก ์์ง์ด๋ฉด์
3. ๋ง์น ์ ๋ฌด๋ฆฌ(flock) ์ฒ๋ผ ์์ง์ด๋ ๊ฑธ ๊ตฌํํ๋ ์๊ณ ๋ฆฌ์ฆ
ํด์ ๋์ถฉ ์ดํดํ๊ณ ์์๋ก ๊ตฌํํด๋ดค์.
1ํธ
์ผ๋จ ๋๊ธด ํ๋ค. ๊ฒฝ๋ก๊ฐ ์ข ๋ณ์ ๊ฐ๊ธด ํ์ง๋ง.
๊ฑ (transform.position - obstacle.position) + (target.position - transform.position) ๋ฐฉํฅ๋๋ก ํ์ ํ๊ณ ์ด๋ํ๊ฒ ํ์.
์ถ๊ฐ๋ก, separation ํ์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์์ง์๋ก ๊ฐํด์ง๋ค.
ํ์ง๋ง ์ด๋ฐ ๋นก๋๊ฐ๋ฆฌ๋ ํ ์ ์๋ ์์ด๋์ด๋ก๋ ์ญ์๋ ๋ ๋ฆฌ๊ฐ ์๋ค.
์ธ์์ ํ์ ๋ชฉ๋ง ๋ง๋ฅ ๊ณ์ ๋๋ค.
๋จ์ํ ์ฅ์ ๋ฌผ๊ณผ์ ์นด์ดํฐ ๋ฒกํฐ์ ํฉ์ผ๋ก๋ง ๊ณ์ฐํ๋ฉด, separation์ด cohesion๋ณด๋ค ์ปค์ง๋ฉด ๋์๊ฐ๊ณ , ์ค์ด๋ค๋ฉด ๋ค์ ์์ผ๋ก ๊ฐ๊ธฐ๋ง ๋ฐ๋ณตํ๊ฒ ๋๋ค.
2ํธ
๊ทธ๋์ ๋ฐ์์ ๋ฐ๊ฟ๋ดค๋ค.
์ด์ฐจํผ ํํผ๋ง ํ๋ฉด ๋๋ค๋ฉด, ๊ฑ ์นด์ดํฐ ๋ฒกํฐ์ ํฉ์ ์์ง๋ฒกํฐ๋ฅผ ์ฐ๋ฉด ๋๋ ๊ฑฐ ์๋๊ฐ?
๋์ถฉ ์ด๋ ๊ฒ.
๋นจ๊ฐ ๊ฒ ์นด์ดํฐ ๋ฒกํฐ, ๋ น์์ด ๊ทธ๊ฒ์ ์์ง๋ฒกํฐ.
์ฃผํฉ์์ด ํ๊ฒ์ ํฅํด ์ด๋ํ๋ ๋ฒกํฐ.ย
ํ๋์์ด ์ต์ข ์ ์ธ ๋ฐฉํฅ ๋ฒกํฐ = ๋ น์ + ์ฃผํฉ์
๊ทธ๋์, ์ผ๋จ ๋๊ธด ๋๋ค. 1ํธ๋ณด๋ค ๊ฒฝ๋ก๋ ๊ด์ฐฎ์๋ณด์ธ๋ค.
ํ์ง๋ง ์ด๊ฒ๋ ๋ฑํ ๊ณ ๋ฏผํ๊ณ ํ ์๊ฐ์ด ์๋๋ผ ์ญ์ ํ์๊ฐ ์์๋ค.
๊ทผ๋ฐ ๋ญ์ผ, ์ ๋์์ ์ธ ๊ฐ ๋ฐ์ ์ ์ฌ๋ผ๊ฐ?
๋๋จธ์ง 2ํธ์์ ๊ณ์ํจ.
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=129977&page=1
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=129976&page=1 ์์ ์ผ์ง - ์ฅ์ ๋ฌผ ํํผ(1) - ์ธ๋ ๊ฒ์
gall.dcinside.com
์ฐธ๊ณ ์๋ฃ
: steering system in game
http://dogfeet.github.io/articles/2012/flocking-algorithm.html : ํ๋กํน ์๊ณ ๋ฆฌ์ฆ ์ค๋ช
https://codeheir.com/2021/03/27/the-flocking-algorithm/ : ๋น์ทํ ์ค๋ช
https://youtu.be/ngh9GSZj0HY" style="font-size:10pt;">https://youtu.be/ngh9GSZj0HY : Boids ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ ์์
https://www.jdxdev.com/blog/2021/03/19/boids-for-rts/ : ์ค๋ช
ํ์ดํผ๋งํฌ๊ฐ ๋๋ ๊ฑด์ง ์๋๋ ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค.
๊ถ๊ธํ๋ฉด ๊ฑ ๊ธ์ด์ ๋ณด์ .
์ฅ์ ๋ฌผ ํํผํ๋๋ฐ ํ๋กํน ์๊ณ ๋ฆฌ์ฆ์ด๊ฑด ์ฐธ์ ํ๋ค